jwk*_*knz 0 delegates datasource objective-c uipickerview ios
我有一个mainViewController,我有一个UIPickerView.现在所有设置都很好,但是当我运行应用程序并选择textField时,我的UIPickerView列表中会出现问号.
现在我刚刚了解到,那是因为我还没有连接代表.但是,如果我为它连接委托,则不会填充textField.
TextField位于mainViewController中.
因此,在我的MainViewController.h中,我导入了UIPickerView并拥有此代码 - 这些都没有错误._pv是UIPickerView.
_pv = [[CategoryPicker alloc] init];
[_pv.categoryPicker setDelegate:self];
[_pv.categoryPicker setDataSource:_pv];
[_appPriorityTxtFld setInputView:_pv];
[_appPriorityTxtFld setInputAccessoryView:toolbar];
Run Code Online (Sandbox Code Playgroud)
现在您可以看到Delegate设置为self,这将允许填充textField.
如果我将其设置为_pv,那么我会正确显示列表,但不填充textField.
我错过了什么?
干杯
小智 6
您需要实现选择器委托方法"pickerView:didSelectRow:inComponent:",并且您需要将所选文本设置为textfild文本.请参阅以下代码以供参考,
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return [dataArray objectAtIndex:row];
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
textField.text = [dataArray objectAtIndex:row];
}
Run Code Online (Sandbox Code Playgroud)
我认为这可能有用.
| 归档时间: |
|
| 查看次数: |
7144 次 |
| 最近记录: |