即使userInteractionEnabled设置为NO,UITextField也会显示光标

我有一个UITextField,它必须闪烁光标,即使它的userInteractionEnabled属性设置为NO。 我不希望UITextField成为FirstResponder并显示键盘。

现在你可能会问:

1.如果要隐藏键盘,为什么要显示光标?

答:问题是我需要用不同的/自定义键盘来显示用户正在编辑的UITextField。

那么为什么你不使用inputView属性呢?

答:因为inputView中的键盘是从底部开始的,而且我希望我的自定义键盘位于屏幕中央。

那么让我们来看看真正的问题:

我怎样才能显示光标? 我可以设置任何财产吗? 如果没有,我将如何画一个光标? 制作UIView,添加和删除与阿尔法,或inheritanceUITextField和重写drawInRect?

你可以用一个重复的animation添加一个小的UIView,用animateWithDuration来设置alpha值为0和1 animateWithDuration:delay:options:animations:completion:

 [UIView animateWithDuration:1 delay:0 options:UIViewAnimationOptionRepeat animations:^{ [cursorView setAlpha:0]; } completion:^(BOOL animated){ [cursorView setAlpha:1]; } ]; 

要将视图正确定位为文本字段的子视图,可以在input的文本前面使用NSString方法sizewithfont:forWidth:lineBreakMode: