UITextField 编辑时文本跳下来

9
我这里遇到一个奇怪的问题。当文本框成为第一响应者时,文本框的边界会改变,当它失去焦点时又会恢复原状。
换句话说,当我点击文本框来修改文本时,文本会跳下来。
我使用系统字体大小为16。我有两个不同的UITextField,一个有边框,另一个没有边框,但两者都会出现相同的问题。
有什么想法是为什么会发生这种情况,以及如何解决它?

This is what happens

更新

经过几天的测试,我发现这个问题只会发生在iOS 10上。


调用 invalidateIntrinsicContentSize 可能会解决这个问题。 - farzadshbfn
你能发一张截图吗? - Burhanuddin Sunelwala
1
是的,我刚刚添加了一个gif @BurhanuddinSunelwala - Mehrshid
1
没有起作用,还有其他建议吗?@farzadshbfn - Mehrshid
为什么要使用两个文本字段?你是将它们重叠使用吗? - Burhanuddin Sunelwala
2
两个不同的视图控制器中有两个文本字段存在相同的问题。它们并不是彼此叠加使用,也没有任何关联。@BurhanuddinSunelwala - Mehrshid
2个回答

6

根据我的经验,这是一个iOS 10的bug,解决方法是将UITextField的高度设置为文本高度(根据字体类型,需要在字体大小和UITextField高度之间建立不同的关系)。

例如,如果UITextField的高度为30个点,则系统字体大小必须为20。希望这对您也有用。


太酷了!不用谢! - Hamid Baraghani

1
我遇到了同样的问题(为此问题花费了一天以上的时间)。在我的情况下,解决方案是关闭UIViewController的automaticallyAdjustsScrollViewInsets。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接