objective-c - 如何在 UITextview 中同时隐藏键盘并以编程方式选择文本?

标签 objective-c ios uitextview

我在 -(void)viewDidLoad 中有以下代码

[txtView becomeFirstResponder];
[txtView setSelectedRange:NSMakeRange(0, 10)];

也就是说,我想以编程方式选择 UITextView 中的文本。 同时,我不希望键盘出现。 我尝试添加以下代码 -

[txtView setEditable:NO];

[txtView resignFirstResponder];

虽然它们使键盘隐藏起来,但是无论哪种方式都会使文本选择消失。

总而言之,我想以编程方式选择文本并同时禁用键盘。 我认为这是可能的,因为当我有 [txtView setEditable:NO];我仍然可以触摸屏幕来选择文本。 问题只是我不知道如何以编程方式完成这一切。 有人可以帮助我吗?

最佳答案

来自 -resignFirstResponder 的文档:

Subclasses can override this method to update state or perform some action such as unhighlighting the selection, or to return NO, refusing to relinquish first responder status. If you override this method, you must call super (the superclass implementation) at some point in your code.

您需要子类化 UITextView 并重写 -resignFirstResponder 方法,可能如下所示:

- (BOOL)resignFirstResponder {
    [self setEditable:NO];
    [self setSelectedRange:NSMakeRange(0, 10)];
    return YES;

}

理论上,这应该可行,但 resignFirstResponder 内部的细节可能不太喜欢它。

关于objective-c - 如何在 UITextview 中同时隐藏键盘并以编程方式选择文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9747088/

相关文章:

iphone - 在 objective-c 中以编程方式设置属性值

objective-c - 如何在具有 C 结构的项目中将非 ARC 项目转换为 ARC 项目?

iOS 8 键盘扩展 : How to copy/paste an audio or video clip into messages?

iphone - NSMutableDictionary EXC_BAD_ACCESS

ios - 更改 UITextView 文本方向

ios - 在 View Controller 之间传递数据

ios - 导航栏与 QLPreviewController 中的状态栏重叠

ios - 动画 uicollectionviewcell,动画期间文本对齐偏离中心

objective-c - 使用 contentScaleFactor 属性缩放 UITextView

ios - 围绕 UITextView 创建 CGRect - 高度错误