`

UIPickerView控件的简单使用(一)

    博客分类:
  • ios
ios 
阅读更多
UIPickerView控件在给用户选择某些特定的数据时经常使用到,这里演示一个简单的选择数据,显示在UITextField输入框里,把UIPickerView作为输入View,用Toolbar作为选定数据的按钮。和其他UITableView控件相似,UIPickerView也需要数据源。

我们要实现的效果如下:

1[img]

[/img]


下面开始使用的步骤。
1、打开XCode 4.3.2,新建一个Single View Application ,命名为PickerViewDemo,Company Identifier 为:com.rongfzh.yc
2、拖放控件

2.1、拖放一个UIPickerView,放置在View的最下方

2.2、拖放一个Toolbar控件,放置在View的外面,让它不属于View的子控件,并把item命名为“完成”,效果如下:

! 我这里拖控件的时候出了问题,在storyboard中无法拖拽一个控件与view平级,哎,只有在xib文件中才可以拖拽,以后研究出来再加上 


2[img]

[/img]


2.3 放置一个Flexible Space Bar Button Item 撑开
3[img]

[/img]



2.4  放一个UITextField,用来显示选择的数据
4[img]

[/img]



3、创建映射

在ViewController.xib文件里按 alt + command+ enter键,打开Assistant Editor,按住Control键,选择各个控件,拖拽到 ViewController.h文件里,生成以下变量代码
#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
{
    NSArray *pickerArray;
}
- (IBAction)selectButton:(id)sender;
@property (strong, nonatomic) IBOutlet UIToolbar *doneToolbar;

@property (strong, nonatomic) IBOutlet UIPickerView *selectPicker;
@property (strong, nonatomic) IBOutlet UITextField *textField;
@end


5[img]

[/img]


4、实现数据源和协议

ViewController.h文件里实现

<UIPickerViewDelegate, UITextFieldDelegate,UIPickerViewDataSource>
#import <UIKit/UIKit.h>

@interface ViewController : UIViewController<UIPickerViewDelegate, UITextFieldDelegate,UIPickerViewDataSource>
{
    NSArray *pickerArray;
}
- (IBAction)selectButton:(id)sender;
@property (strong, nonatomic) IBOutlet UIToolbar *doneToolbar;

@property (strong, nonatomic) IBOutlet UIPickerView *selectPicker;
@property (strong, nonatomic) IBOutlet UITextField *textField;
@end




ViewController.m文件
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
    return 1;
}
-(NSInteger) pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
    return [pickerArray count];
}
-(NSString*) pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
    return [pickerArray objectAtIndex:row];
}

-(void)textFieldDidEndEditing:(UITextField *)textField{
    NSInteger row = [selectPicker selectedRowInComponent:0];
    self.textField.text = [pickerArray objectAtIndex:row];
}



上面numberOfComponentsInPickerView返回有几个PickerView ,

textFieldDidEndEditing这个在textField结束编辑时,显示PickerView选择中的数据。


Toolbar 的item的完成按钮
- (IBAction)selectButton:(id)sender {
    [textField endEditing:YES];
}



5、初始化:
- (void)viewDidLoad
{
    [super viewDidLoad];
    pickerArray = [NSArray arrayWithObjects:@"动物",@"植物",@"石头",@"天空", nil];
    textField.inputView = selectPicker;
    textField.inputAccessoryView = doneToolbar;
    textField.delegate = self;
    selectPicker.delegate = self;
    selectPicker.dataSource = self;
    selectPicker.frame = CGRectMake(0, 480, 320, 216);

}



代码解释:
设置委托

   textField.delegate =self;

    selectPicker.delegate =self;

    selectPicker.dataSource =self;


隐藏UIPickerView

    selectPicker.frame =CGRectMake(0,480,320, 216);
运行:

6[img]

[/img]
  • 大小: 104.3 KB
  • 大小: 57.1 KB
  • 大小: 15.2 KB
  • 大小: 30.1 KB
  • 大小: 52.4 KB
  • 大小: 104.3 KB
分享到:
评论

相关推荐

    UIPickerView

    以下是一个简单的`UIPickerView`配置示例: ```swift class ViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate { let pickerView = UIPickerView() let categories = ["热菜", ...

    UIPickerView小示例

    在压缩包中的"0716 UIPickerView使用"可能包含了一个简单的项目示例,你可以通过运行它来直观地理解这些概念。这个项目可能包括了创建UIPickerView,设置数据源和代理的完整过程,以及可能的自定义和事件处理。 总...

    swift-一个四列的UIPickerView可以滑动选择精确到街道的中国行政区划信息并返回地址使用简单

    在iOS应用开发中,UIPickerView 是一个常用的控件,用于展示用户可以选择的多个选项。在给定的标题和描述中,我们关注的是一个特定的实现:一个四列的 UIPickerView,能够显示并允许用户选择精确到街道级别的中国...

    UIPickerView Demo

    7. **实际应用示例**:`UIPickerViewTest`可能包含一个简单的Swift或Objective-C实现,展示如何创建、填充和响应`UIPickerView`的选择。它可能会有一个`UIViewController`作为数据源和代理,以及相关的UI元素如按钮...

    iOS App中UIPickerView选择栏控件的使用实例解析

    在iOS应用开发中,UIPickerView控件是一个非常实用的组件,它允许用户从一系列预设的选项中选择一个或多个值。与UIDatePicker不同,UIPickerView并不局限于日期和时间的选择,而是能用于展示任何类型的数据列表。在...

    IOS应用源码——UIPickerView选择多个选项效果.zip

    在iOS开发中,UIPickerView是一个非常常见的组件,它用于展示一系列可滚动的行,用户可以从这些行中选择一个或多个选项。这个压缩包“IOS应用源码——UIPickerView选择多个选项效果.zip”显然是一个关于如何实现...

    IOS自定义弹出UIPickerView或UIDatePicker(动画效果)

    1. **使用UIView动画**:可以通过`UIView.animate(withDuration:)`方法来实现简单的淡入淡出、平移等动画效果。 2. **使用UIPresentationController**:如果你需要更复杂的过渡动画,可以自定义...

    ios-UIPickerView.zip

    在本Demo中,`ios-UIPickerView.zip` 提供了一个使用Swift 3.0编写的简单封装,使得UIPickerView的集成与交互更加方便。以下是关于这个主题的详细知识点: 1. UIPickerView简介: UIPickerView 是 iOS SDK 中内置...

    ios-swift-demo10-选择框(UIPickerView)的用法.zip

    在iOS应用开发中,UIPickerView 是一个非常重要的控件,它用于展示一系列可滚动的选项,用户可以从中选择一个或多个值。本教程将详细解释如何在Swift中使用UIPickerView,通过“ios-swift-demo10-选择框...

    UIPickerView Demo关联选择

    在iOS开发中,UIPickerView 是一个非常常用的控件,用于展示用户可以选择的多个选项,类似于下拉列表。本教程将深入探讨如何使用UIPickerView并实现“关联选择”功能,即选择一个选项后,会影响到其他选项的显示或可...

    多个UIPickerView切换(纯代码)-代码

    在iOS开发中,UIPickerView 是一个非常常用的控件,用于展示用户可以选择的多项数据,类似于现实世界的滚轮。在某些场景下,我们可能需要在应用程序中实现多个UIPickerView的切换,以便用户可以在不同的选择集之间...

    日历控件架包

    在压缩包中的"PickerView"文件可能是这个日历控件的实现部分,通常在iOS开发中,`UIPickerView`是一种常见的选择器组件,但在这个上下文中,可能是开发者将日历视图与picker view的某些功能相结合,或是用picker ...

    swift-ios下拉框控件

    "swift-ios下拉框控件"通常指的是能够实现下拉选择功能的控件,这种控件在很多场景下都非常有用,例如用户需要从预设的选项中选择一个。在iOS中,这种效果可以由多种方式实现,如`UIPickerView`、`...

    仿iphone的滚轮控件

    总结起来,仿iPhone滚轮控件(`UIPickerView`)是iOS开发中一个重要的组成部分,它提供了丰富的交互方式和可定制性。通过熟练掌握上述知识点,开发者可以创建出符合用户习惯、满足各种需求的滚轮控件,提升应用的...

    IOS的一个带动画的多项选择的控件

    这个数据模型可以是简单的数组或字典,键值对对应于控件中的每一项。每当用户选择一个新项时,更新模型并相应地更新视图。如果控件支持取消选择,还需要处理这种情况。 在给定的标签“IOS 多项选择”中,我们可以...

    iOS 日历控件

    - `UIPickerView`:虽然不是专为日历设计,但可以通过定制数据源来显示日期,适合简单的日期选择。 - `UIDatePicker`:系统内置的日历控件,可设置模式(如日期、时间、日期和时间),用户通过滚动选择日期和时间...

    自定义的 Date Time Picker 控件

    在日期和时间的选择场景下,通常会使用 UIDatePicker 控件,它提供了简单易用的日期和时间选择功能。然而,UIDateTimePicker 的功能有限,可能无法满足所有开发者的需求,比如只显示年月、显示年周或者同时显示年月...

    Android 模仿iphone时间滚轮控件源码.rar

    在iOS系统中,这种控件通常被称为`UIPickerView`,用于展示一系列可滚动的选项,比如日期、时间或者简单的列表选择。在Android中,我们可以利用自定义视图或者现有的第三方库来实现类似的效果。这个源码就提供了这样...

    iOS 7 Programming Cookbook

    4. 使用UIPickerView控件:UIPickerView是一个用于显示滚动选择器的控件,用户可以从中选择一个或多个选项。第1.4节展示了如何利用UIPickerView来让用户从一系列值中做出选择。 5. 使用UIDatePicker控件:...

    ios radiobutton、checkbox、pulldown控件封裝整理

    封装的Pulldown控件可能包含一个UIPickerView,并提供了数据源和代理方法的接口,如`numberOfComponents(in:)`、`pickerView(_:numberOfRowsInComponent:)`和`pickerView(_:titleForRow:forComponent:)`。...

Global site tag (gtag.js) - Google Analytics