【发布时间】:2015-07-31 11:15:59
【问题描述】:
标题说明了一切,我有一个方法被调用来创建 UIPickerView,并且在与委托方法相同的视图控制器中。视图控制器实现了 UIPickerViewDataSource 和 UIPickerViewDelegate 协议
// ViewController.m
- (void)setUpPickerView{
UIPickerView *pickerView = [[UIPickerView alloc] init];
pickerView.dataSource = self;
pickerView.delegate = self;
pickerView.showsSelectionIndicator=YES;
self.groupsTextField.inputView = pickerView;
}
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
return 1;
}
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
return [self.pickerViewData count];
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
return self.pickerViewData[row];
}
我已经看到很多答案,人们说如果 pickerView:numberOfRowsInComponent:component 返回 0 这将停止调用其他委托方法,但是当我设置断点时,我不会调用任何委托方法完全没有。
提前感谢您的帮助!
【问题讨论】:
-
你在.h文件中设置了委托协议吗
-
是的 @interface StudentShareListVC : EmbeddedVC
-
你的
self.groupTextField初始化了吗? -
是的,它是一个 IBOutlet,我刚刚删除并重新连接了所有插座,但问题仍然存在
-
groupsTextField是什么类型,inputView是什么?
标签: ios objective-c uipickerview uipickerviewdatasource uipickerviewdelegate