禁用可编辑属性UITextField

时间:2012-10-09 07:07:32

标签: iphone combobox uitextfield

我在禁用UITextField编辑时遇到问题。我正在尝试将我的文本字段用作组合框,但是当我使用我的组合框样式时,我的文本是可编辑的。当我设置userInteractionEnabled = NO以防止编辑时,我无法将我的文本字段视为组合框。我能为这个问题做些什么?

5 个答案:

答案 0 :(得分:1)

您在textfieldingiting上显示操作表。

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
    if ([textField isEqual:myTextField]){
       UIActionSheet *actionsheet = [[UIActionSheet alloc] initWithTitle:@"Please select an option" delegate:self cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:@"Option1", @"Option2", @"Option3", nil];
       [actionsheet showInView:self.view];
       return NO; 
    } 
    return YES;
}

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {

[myTextField setText:[actionSheet buttonTitleAtIndex:buttonIndex]];

 }

答案 1 :(得分:0)

使用此:

txtBox.editable = NO;

而不是

txtBox.userInteractionEnabled = NO;

答案 2 :(得分:0)

我不认为使用uitextfield作为组合框是一个很好的解决方案。问题是你是否禁用了用户交互或使你的textview不可编辑你如何捕获用户点击并激活列表?

如果我是你,我会提到一个按钮,当你点击按钮时弹出一个小桌面视图。这不是一件容易实现的,而是一个更优雅的解决方案。

答案 3 :(得分:0)

使用此UITextField委托:

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

设置返回NO并打开Combobox。

答案 4 :(得分:0)

如何在UITextFields上放置按钮或其他内容。将Textfields设置为NO可能不是一个好主意,但只是欺骗你的UI。