我有一个UITextField,它必须闪烁光标,即使它的userInteractionEnabled属性设置为NO。我不希望UITextField成为FirstResponder并显示键盘。
现在你可能会问:
1。如果要隐藏键盘,为什么要显示光标?
答:问题是我需要向用户显示正在编辑的UITextField,使用不同的/自定义键盘。
2。那么为什么不使用inputView属性?
答:因为inputView中的键盘来自底部,我希望我的自定义键盘位于屏幕中央。
让我们回到真正的问题:
如何显示光标?我可以设置任何财产吗?如果没有,我将如何绘制光标?创建一个使用alpha添加和删除的UIView,或者为UITextField创建子类并覆盖drawInRect?
答案 0 :(得分:3)
你可以添加一个带有重复动画的小型UIView,它使用animateWithDuration:delay:options:animations:completion:
来回设置alpha为0和1。
[UIView animateWithDuration:1
delay:0
options:UIViewAnimationOptionRepeat
animations:^{ [cursorView setAlpha:0]; }
completion:^(BOOL animated){ [cursorView setAlpha:1]; } ];
要将视图正确定位为文本字段的子视图,请在输入的文本前面使用NSString
方法sizewithfont:forWidth:lineBreakMode: