【问题标题】:How to set focus not on the UITextView when it is shown?UITextView 显示时如何设置焦点?
【发布时间】:2018-03-27 07:17:36
【问题描述】:

在某些情况下,当UITextView 显示时,我希望它不显示焦点和软键盘,当用户点击它时,两者都会显示

但在其他一些情况下,我希望在显示 UITextview 时显示焦点和软键盘。

我知道如何显示焦点,但我不知道如何让 UItextview 失去焦点。

感谢任何帮助。谢谢!

-(void)viewWillAppear:(BOOL)animated {
if(isEditMode) {
   [self.textView becomeFirstResponder];
} else {
   [self.textView resignFirstResponder];
}
.....
}

【问题讨论】:

    标签: ios focus uitextview soft-keyboard


    【解决方案1】:

    UITextView 是 UIResponder 的子类。

    要使文本视图成为第一响应者(获取焦点),请使用:

    textView.becomeFirstResponder()
    

    要让文本视图退出第一响应者(失去焦点),请使用:

    textView.resignFirstResponder()
    

    【讨论】:

    • 我试过但对我不起作用,当我 resignFirstResponder 时 textView 仍然获得焦点并显示键盘。
    • 我发现一个有趣的事情是,当我第一次显示 UITextView 时,它没有获得焦点,只有当我单击它以获得焦点时,它才会在其余时间显示焦点。
    • @newszer 检查 textView 属性是否不为零。
    • 关于 UITextView 行为 - 它的实际意图。默认情况下,文本视图不关注外观,但如果您隐藏然后显示它所属的视图控制器,系统会记住您离开屏幕并自动恢复它。
    • 有什么办法不恢复吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多