Iphone 禁用可编辑属性UITextField

Iphone 禁用可编辑属性UITextField,iphone,combobox,uitextfield,Iphone,Combobox,Uitextfield,禁用编辑UITextField时出现问题。我试图将我的文本字段用作组合框,但当我使用组合框样式时,我的文本是可编辑的。当我设置userInteractionEnabled=NO以阻止编辑时,我无法将文本字段视为组合框。如何解决此问题?使用以下方法: txtBox.editable = NO; 而不是 txtBox.userInteractionEnabled = NO; 使用以下命令: txtBox.editable = NO; 而不是 txtBox.userInteractionEnab

禁用编辑
UITextField
时出现问题。我试图将我的文本字段用作组合框,但当我使用组合框样式时,我的文本是可编辑的。当我设置
userInteractionEnabled=NO
以阻止编辑时,我无法将文本字段视为组合框。如何解决此问题?

使用以下方法:

txtBox.editable = NO;
而不是

txtBox.userInteractionEnabled = NO;
使用以下命令:

txtBox.editable = NO;
而不是

txtBox.userInteractionEnabled = NO;

我不认为使用uitextfield作为组合框是一个好的解决方案。问题是您禁用了用户交互或使您的文本视图不可编辑。您如何捕捉用户点击并激活列表


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

我认为使用uitextfield作为组合框不是一个好的解决方案。问题是您禁用了用户交互或使您的文本视图不可编辑。您如何捕捉用户点击并激活列表


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

使用此UITextField委托:

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

设置返回号并打开组合框。

使用此UITextField委托:

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

设置return NO并打开您的组合框。

在UITextFields上添加按钮或其他内容如何。将Textfields editable设置为NO不是一个好主意,但是,只是简单地欺骗您的UI。

在UITextFields的顶部放置按钮或其他东西怎么样。将Textfields editable设置为NO不是一个好主意,但这只是在欺骗用户界面。

您可以在textfield editing上显示一个操作表

- (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]];

 }

您可以在textfieldediting上显示操作表

- (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]];

 }

当用户点击文本字段时,是否需要打开组合框?是。当用户点击文本字段时,我想查看我的组合框值/当用户点击文本字段时,是否需要打开组合框?是。当用户点击文本字段时,我想查看我的组合框值/当我使用这些值时,我看不到我的文本字段是组合框..?当我使用这些时,我看不到我的文本字段是组合框..?但是我已经准备好了所有的东西,所以我认为如果我们有一个解决方案,禁用文本字段会更好当然..你知道他准备了什么吗?当用户点击TextField时,您打算如何显示列表?我不知道的是,如果您没有使用UITextField的基本功能,为什么没有“你不能用按钮来代替吗?但是我已经准备好了所有的东西,所以我认为如果我们有一个解决方案的话,禁用Textfield会更好当然……你想说什么?他已经准备好了所有的东西?”?当用户点击文本字段时,您打算如何显示列表?我不明白的是,如果您没有使用UITextField的基本功能,为什么不使用按钮?-(BOOL)textField应该开始编辑:(UITextField*)textField{return NO;[self showPicker:textField];}当我这样做时,我看不到combobox?如果你禁用textfield的用户交互,这将永远不会调用确保你设置了textfield的委托,并且你的方法showPicker工作正常。-(BOOL)textfield应该开始编辑:(UITextField*)textfield{返回否;[self-showPicker:textfield];}当我这样做时,我看不到combobox?如果您禁用textfield的用户交互,这将永远不会调用。请确保您已设置textfield的委托,并且您的方法showPicker工作正常。