在iPhone上控制自动更正视图位置

Mic*_*nan 13 iphone objective-c

有没有办法控制在输入时弹出的自动正确视图的位置UITextField

默认情况下,它似乎始终显示在文本字段下方.但是在Apple的应用程序(如SMS)中,有时会出现在文本字段上方.

对于键盘正上方对齐的文本字段,键盘会阻止自动更正并且无法使用.

Coc*_*ics 1

自动更正提示的位置由UITextInput协议的firstRect...方法确定。不幸的是 UITextField 使用私有类作为该协议的委托,因此您无法子类化和覆盖它。

然而,您可以通过自己绘制内容(如使用 CoreText)来实现您自己的 UITextField 替换,实现您自己的选择和放大镜处理,然后您将能够影响自动更正提示的位置。尽管它被设计为始终位于编辑的文本下方,所以您基本上必须依赖于firstRect ...方法。

长话短说:太麻烦了。