2012-10-09 40 views
1

我禁用UITextField的编辑禁用问题。我试图将我的文本字段用作组合框,但是当我使用组合框样式时,我的文本是可编辑的。当我设置userInteractionEnabled = NO以防止编辑时,我看不到我的文本字段为组合框。我能为这个问题做些什么?禁用可编辑属性UITextField

+0

当用户点击文本字段时,是否需要打开组合框? – Jorge

+0

是的。当用户点击texfield我想看到我的组合框值/ – santa

回答

1

您在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]]; 

} 
0

使用此:

txtBox.editable = NO; 

,而不是,

txtBox.userInteractionEnabled = NO; 
+0

当我使用这些,我不能看到我的文本框为一个组合框..? – santa

0

我不认为使用的UITextField作为组合框是一个很好的solution.The问题是被禁用的用户交互或者使你的TextView不可编辑如何捕捉用户点击并激活列表?

如果我是你,我会参考一个按钮,当你点击按钮时弹出一个小的tableview。它不容易实现,但更优雅的解决方案。

+0

但我已经准备好了一切,所以我认为如果我们有一个解决方案当然是禁用Textfield会更好。 – santa

+0

你有什么机智嗨准备好了一切?你如何计划在用户点击文本框时显示列表 –

+0

我不明白的是,如果你不使用UITextField的fundemental功能,为什么你不用按钮? –

0

使用此UITextField委托:

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

设置不返回,打开你的组合框。

+0

- (BOOL)textFieldShouldBeginEditing:(UITextField *)文本框{ 返回NO; [自showPicker:文本字段]; } Im做这个的时候我不能看到组合框 – santa

+0

如果禁用了文本框,这将永远不会被调用 –

+0

调用此[自showPicker:文本字段]的用户交互?;方法 – OMK

0

如何将按钮或东西放在你的UITextField上。将文本字段设置为NO可不是一个好主意,但是,只是简单地欺骗你的用户界面。

+0

no .it does not workd – santa

相关问题