gpt4 book ai didi

iphone - UITextField clearButtonMode 和 UIPicker

转载 作者:行者123 更新时间:2023-11-29 13:41:19 24 4
gpt4 key购买 nike

我有一个扩展的 UITextField(添加了一个 NSString 属性,inputType)来接收用户输入。当用户点击文本字段时,我使用一个选择器供用户选择输入。我还需要允许用户清除文本框,所以我想我可以使用

tillageTextField.clearButtonMode = UITextFieldViewModeAlways;

清除文本字段。

问题是当您点击 X 清除文本框时,它也会触发我的选取器。我使用:

-(BOOL) textFieldShouldBeginEditing:(MyTextField *) textField 
{
//other code
else if ([textField.inputType isEqualToString:@"tillageMethod"])
{
self.customArray = [NSArray arrayWithObjects:@"No Till", @"Strip Till", @"Full Till", nil];
self.tempTextField = textField;
[self showPicker];

return NO;
}
//other code
}

显示选择器。

有没有办法让我判断用户是否点击了清除按钮而不显示选择器?

最佳答案

您还可以实现 textFieldShouldClear: 并在您的类上设置一个标志(例如 doNotShowPickerOnNextCallback)

- (BOOL)textFieldShouldClear:(UITextField *)textField {

if ([textField.inputType isEqualToString:@"tillageMethod"]) {

if (![self pickerIsShowing]) {
self.doNotShowPickerOnNextCallback = YES;
}
}

return YES;
}

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {

//other code
else if ([textField.inputType isEqualToString:@"tillageMethod"]) {

if (self.doNotShowPickerOnNextCallback) {

self.doNotShowPickerOnNextCallback = NO;
return NO;
}

self.customArray = [NSArray arrayWithObjects:@"No Till", @"Strip Till", @"Full Till", nil];
self.tempTextField = textField;
[self showPicker];

return NO;
}
}

关于iphone - UITextField clearButtonMode 和 UIPicker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9067829/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com