没有调用 UIPicker 的方法 titleForRow

Posted

技术标签:

【中文标题】没有调用 UIPicker 的方法 titleForRow【英文标题】:method titleForRow for UIPicker is not being called 【发布时间】:2015-02-25 16:00:21 【问题描述】:

我想在我的项目中使用 UIPickerView,但是即使调用了 numberOfComponentsInPickerView 和 numberOfRowsInComponent,我的 titleForRow 方法也没有被调用。有谁知道如何处理它?

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView

    return 1;


- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component

    return pickerData.count;


- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component

    NSString *title = [pickerData objectAtIndex:row];
    return title;

这些是我的 UIPickerView 方法,我已经像这样设置了 dataSource 和委托:

self.schedulePicker.dataSource = self;
self.schedulePicker.dataSource = self;

我在 Xcode 6.1.1 中工作,但部署目标是 7.1。

感谢任何人的帮助。

【问题讨论】:

pickerView:titleForRow:forComponent:UIPickerViewDelegate 方法,而不是 UIPickerViewDataSource 方法。 【参考方案1】:

您设置了两次UIPickerViewDatasource,而不是设置UIPickerViewDelegate

改为:

self.schedulePicker.dataSource = self;
self.schedulePicker.delegate = self;

【讨论】:

是的,就是这样!我怎么能错过呢?非常感谢!

以上是关于没有调用 UIPicker 的方法 titleForRow的主要内容,如果未能解决你的问题,请参考以下文章

UIPicker 检测当前选定行上的点击

无法设置默认值 UIPicker swift 2

UIPicker 没有出现在应用程序中

UIPicker 滑动没有响应

Swift:使用 UIPicker 自定义 DatePicker

UIPicker city.plist(实例)