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