ios - UITextField 中的 UIPicker

标签 ios uipicker

当我在 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/

相关文章:

swift - Swift 初学者,错误 UIPicker

ios4 - UIPickerView 文本字段编辑的多个来源

iphone - 从 plist 到 UIPickerView

ios - 如何获取自定义 UIPickerView?

ios - UISplitViewController:在 iPhone 6 Plus 上旋转时崩溃

ios - 为什么我的CAReplicatorLayer旋转时会有偏移

ios - 如何在 Swift 3 应用程序中裁剪 iPhone 图像

ios - 如何检查 NSArray 中的对象是否为 NSNull?

ios - 如何在谷歌地图上获取坐标

iphone - 如何更改uipicker内部的文本颜色?