【问题标题】:How do I add a UIPickerView when tapping inside a text field?在文本字段内点击时如何添加 UIPickerView?
【发布时间】:2014-02-22 19:10:13
【问题描述】:

我有这个代码来添加一个日期选择器:

// Initiate datepicker and assign to due date
_datePicker = [[UIDatePicker alloc] init];
[_datePicker addTarget:self action:@selector(dateChanged:)
 forControlEvents:UIControlEventValueChanged];
_datePicker.minuteInterval = 15;
_dueDate.inputView = _datePicker;

我尝试用 pickerview 做同样的事情,但没有成功,有人能解释一下原因吗?

这是我的代码: // 初始化选择器视图并分配给优先文本字段 _priorityPickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 200, 320, 200)];

// Array otions for priority picker
NSArray *array = [[NSArray alloc] initWithObjects:@"High",@"Medium",@"Low", nil];
self.priorityPickerData = array;

// Connect text field to pickerview
_priority.inputView = _priorityPickerView;

这是选择器视图中的数据集:

// Picker View functions
-(NSInteger)numberOfComponantsInPickerView:(UIPickerView *)pickerView{
    return 1;
}

-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
    return [_priorityPickerData count];
}

-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
    return [self.priorityPickerData objectAtIndex:row];

}

-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
    int select = row;
    if(select == 0){
        _priority.text = @"High";
    }else if(select == 1){
        _priority.text = @"Medium";
    }else if(select == 2){
        _priority.text = @"Low";
    }
}

非常感谢,

彼得

【问题讨论】:

  • 应用程序崩溃还是键盘出现?
  • 嗨,阿卜杜拉,它没有崩溃,也没有显示键盘。
  • 您是否为选择器视图设置了数据?
  • 是的,我会更新我的问题
  • 你是否设置了数据源和委托给自己?

标签: ios iphone objective-c uipickerview


【解决方案1】:

将委托和数据源设置为self:

_priorityPickerView.delegate = self;
_priorityPickerView.dataSource = self;

也位于 .m 文件的顶部:

@interface YourViewController ()<UIPickerViewDataSource,UIPickerViewDelegate>

【讨论】:

  • 我会在几分钟内试一试 :)
  • 今天你帮了我两次!你是个传奇!谢谢!
猜你喜欢
  • 1970-01-01
  • 2011-02-18
  • 2020-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多