2012-07-17 85 views
4

在我的应用程序中,在UITextview中我想隐藏光标。UITextview隐藏光标/更改光标的颜色

如果这是不可能的,那么我想改变光标的颜色。

我们可以这样做吗?我有搜索它,但只获得UITextfield的答案。

谢谢。

+0

不指定是否要做到这一点,而键盘是开放的。我发现这是因为我想要做同样的事情,但就我而言,我没有打开任何键盘(只能选择文本,不能编辑它,但这需要启用编辑)。无论如何,我的解决方案只是'[textView resignFirstResponder];'。 – livingtech 2013-07-29 21:06:25

回答

3

您可以隐藏光标只有当你禁用了编辑属性设置为无

2

隐藏光标,只要继承UITextField和覆盖-caretRectForPosition:这是由UITextField实现与UITextInput协议符合:

- (CGRect)caretRectForPosition:(UITextPosition *)position 
{ 
    return CGRectZero; // ensures the cursor won't appear 
} 

至于改变颜色或光标,我认为这是不可能访问私人API。

编辑:根据S. Soffes评论,显然改变颜色可能通过tintColor财产。

+1

您可以通过设置文本视图的tintColor来更改颜色。 – 2016-05-03 21:46:36

13

在iOS 7上,您可以简单地将文本视图的tintColor设置为与其backgroundColor相同,以使光标不可见。

textView.tintColor = textView.backgroundColor; 

,或者你可以尝试:

textView.tintColor = [UIColor clearColor]; 
+0

从iOS 10.3开始,对我来说这似乎没有任何效果(除非我错过了某些东西)。下面的答案确实有效。 – 2017-11-14 18:35:40