我在 UIView 上有一个 UIPickerView。我已经在 .h 文件中实现了其协议(protocol),并在 .m 文件中实现了委托(delegate):
<UIPickerViewDataSource, UIPickerViewDelegate>
在 IB 中,我已将上述内容连接到选择器,我也有一个 IBoutlet。这些方法如下所示:
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)thePickerView {
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)thePickerView numberOfRowsInComponent:(NSInteger)component {
return [self.arr count];
}
- (NSString *)pickerView:(UIPickerView *)thePickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
return @"test";
}
- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
//do something
}
有什么想法我缺少哪一 block 来让选择器工作吗?
最佳答案
如果未调用委托(delegate)方法,则在 IB 中仔细检查选取器 View 的委托(delegate)和数据源导出是否已连接到文件的所有者。
在.h文件中,选择器 View 导出应如下声明:
@property(非原子,保留)IBOutlet UIPickerView *pickerView;
关于iphone - UIPickerView 不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2754561/