没有调用 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的主要内容,如果未能解决你的问题,请参考以下文章