当我在 UITextField 内单击时,我想显示一个选择器。这是我的代码(有效):
[super viewDidLoad];
// Picker View dei Tipi
pickerTipo= [[UIPickerView alloc] init];
pickerTipo.showsSelectionIndicator = YES;
UIToolbar* keyboardDoneButtonView = [[UIToolbar alloc] init];
[keyboardDoneButtonView sizeToFit];
UIBarButtonItem* doneButton = [[UIBarButtonItem alloc]
initWithTitle:
@"Fine" style:UIBarButtonItemStyleBordered
target:self
action:@selector(pickerDoneClicked:)];
[keyboardDoneButtonView setItems:[NSArray arrayWithObjects:doneButton, nil]];
self.textTipo.inputAccessoryView = keyboardDoneButtonView;
[self.textTipo resignFirstResponder];
self.textTipo.inputView = pickerTipo;
self.textTipo.delegate = self;
选择器和附件 View 正确显示。问题是 UITextField 仍然是可编辑的,也就是说我仍然可以在 UITextField 中输入。我希望当显示选择器时,在 UITextField 内不启用任何编辑。
[解决了}
按照接受的答案,正确的代码是:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if (textField == self.textTipo || textField == self.textStato)
return NO;
else
return YES;
}
最佳答案
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if([textField.restorationIdentifier isEqualToString:@"textFieldIdentifier"])
{
return NO;
}
}
希望能帮助到你。
关于ios - UITextField 中的 UIPicker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17145591/