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