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

时间:2012-08-26 07:56:50

标签: iphone ios ipad uitextfield

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

现在你可能会问:

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

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

2。那么为什么不使用inputView属性?

答:因为inputView中的键盘来自底部,我希望我的自定义键盘位于屏幕中央。

让我们回到真正的问题:

如何显示光标?我可以设置任何财产吗?如果没有,我将如何绘制光标?创建一个使用alpha添加和删除的UIView,或者为UITextField创建子类并覆盖drawInRect?

1 个答案:

答案 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: