即使在userInteractionEnabled = NO的情况下,也可以在firstResponder上显示UITextField键盘
我有一个UITextField是第一响应者。 我想在进入视图时显示键盘,但我想这样做,用户将无法编辑它,光标也会一直隐藏。
当你点击一个键盘字母时,它将被写入UITextField,但是用户将不能在那里编辑任何东西,甚至不能复制。
谢谢!
好吧,根据我的评论,我的解决scheme是有一个代理UITextField
其hidden
属性设置为YES
。 我所做的就是将隐藏文本字段添加到视图,并调用becomeFirstResponder
。 用户不知道这个文本字段是否存在。 在文本字段的委托callback中,我将用户input的文本添加到UITextView
(尽pipe您可以将文本添加到所需的任何内容中,例如像在您的问题中那样的UITextField
)。 我closures了可见文本视图的userInteractionEnabled
。 这会产生你想要的效果。
我创build了一个示例项目,我上传到Github。 (如果您不熟悉,只需单击zipbutton下载,解压缩,然后打开.xcodeproj文件)。 https://github.com/MaxGabriel/HiddenTextField
我在我的viewController
有一个UISearchBar
属性。 我是这样做的:
- (void)viewWillAppear:(BOOL)animated { [self.searchBar becomeFirstResponder]; }
这应该对于UITextField
是一样的。
至于禁用编辑,使用:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{ return NO; }
你应该设置你的viewController是UITextField
的委托。
编辑答案:试试这个:
1. [txtField becomeFirstResponder]; 2. txtField.enabled = NO; 3. when some press on keyboard, then txtField.enabled = YES;
看看这个: http : //www.youtube.com/watch?v=cKV5csbueHA