html5仿ios选择器,iOS选择器(Pickers) | 菜鸟教程

选择器的使用

选择器是一个可滚动视图,用于选取列表项中的值。

重要的属性

delegate

dataSource

重要的方法

- (void)reloadAllComponents

- (void)reloadComponent:(NSInteger)component

- (NSInteger)selectedRowInComponent:(NSInteger)component

- (void)selectRow:(NSInteger)row inComponent:(NSInteger)component

animated:(BOOL)animated

修改 ViewController.h

我们将添加一个文本字段、选择器视图和一个数组。

我们将采用UITextFieldDelegate、UIPickerViewDataSource、UIPickerViewDelegate的协议。ViewController.h文件代码如下所示:

#import

@interface ViewController : UIViewController

{

UITextField *myTextField;

UIPickerView *myPickerView;

NSArray *pickerArray;

}

@end

添加自定义方法 addPickerView

-(void)addPickerView{

pickerArray = [[NSArray alloc]initWithObjects:@"Chess",

@"Cricket",@"Football",@"Tennis",@"Volleyball", nil];

myTextField = [[UITextField alloc]initWithFrame:

CGRectMake(10, 100, 300, 30)];

myTextField.borderStyle = UITextBorderStyleRoundedRect;

myTextField.textAlignment = UITextAlignmentCenter;

myTextField.delegate = self;

[self.view addSubview:myTextField];

[myTextField setPlaceholder:@"Pick a Sport"];

myPickerView = [[UIPickerView alloc]init];

myPickerView.dataSource = self;

myPickerView.delegate = self;

myPickerView.showsSelectionIndicator = YES;

UIBarButtonItem *doneButton = [[UIBarButtonItem alloc]

initWithTitle:@"Done" style:UIBarButtonItemStyleDone

target:self action:@selector(done:)];

UIToolbar *toolBar = [[UIToolbar alloc]initWithFrame:

CGRectMake(0, self.view.frame.size.height-

myPickerView.frame.size.height-50, 320, 50)];

[toolBar setBarStyle:UIBarStyleBlackOpaque];

NSArray *toolbarItems = [NSArray arrayWithObjects:

doneButton, nil];

[toolBar setItems:toolbarItems];

myTextField.inputView = myPickerView;

myTextField.inputAccessoryView = toolBar;

}

执行委托,如下所示:

#pragma mark - Text field delegates

-(void)textFieldDidBeginEditing:(UITextField *)textField{

if ([textField.text isEqualToString:@""]) {

[self dateChanged:nil];

}

}

#pragma mark - Picker View Data source

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{

return 1;

}

-(NSInteger)pickerView:(UIPickerView *)pickerView

numberOfRowsInComponent:(NSInteger)component{

return [pickerArray count];

}

#pragma mark- Picker View Delegate

-(void)pickerView:(UIPickerView *)pickerView didSelectRow:

(NSInteger)row inComponent:(NSInteger)component{

[myTextField setText:[pickerArray objectAtIndex:row]];

}

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:

(NSInteger)row forComponent:(NSInteger)component{

return [pickerArray objectAtIndex:row];

}

在ViewController.m修改viewDidLoad,如下所示:

(void)viewDidLoad

{

[super viewDidLoad];

[self addPickerView];

}

输出

现在当我们运行该应用程序我们会看到下面的输出:

a5cbc361c32bc3852da842f8fd67f764.png

文本选择器视图如下所示,我们可以选取我们需要的值:

3b2f9ef76e2e2db778354474e47fc7cc.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值