我发现了一个UITextField的问题。我创建了一个UITextfield的子类,允许用户点击文本以开始编辑,然后旋转和调整文本大小。
如果您通过增加高度来调整文本字段,则即使文本字段的宽度未增加,居中的文本也会向右移动。我已经调查了这个问题,并发现uitextfield具有类型为UIFieldEditor的内部视图,该视图又具有_UIFieldEditorContentView视图。UIFieldEditor似乎是UIScrollView的子类,此滚动视图的内容大小比uitextview的大小要大得多。当文本视图增加其高度时,滚动视图的内容大小宽度也会增加。我猜这可能是一个内部自动布局问题。
我在这里添加了一个演示项目,演示了这个问题。单击文本以开始编辑,然后拖动调整大小图标,使高度增加,您将看到问题。
如果您通过增加高度来调整文本字段,则即使文本字段的宽度未增加,居中的文本也会向右移动。我已经调查了这个问题,并发现uitextfield具有类型为UIFieldEditor的内部视图,该视图又具有_UIFieldEditorContentView视图。UIFieldEditor似乎是UIScrollView的子类,此滚动视图的内容大小比uitextview的大小要大得多。当文本视图增加其高度时,滚动视图的内容大小宽度也会增加。我猜这可能是一个内部自动布局问题。
我在这里添加了一个演示项目,演示了这个问题。单击文本以开始编辑,然后拖动调整大小图标,使高度增加,您将看到问题。
https://github.com/permagnus/UITextField-Resize-Issue-Demo
来自revealapp的屏幕截图:
滚动视图中底层视图的尺寸不正确: https://github.com/permagnus/UITextField-Resize-Issue-Demo/blob/master/Screenshots/screenshot-showing-incorrect-size.png
uitextfield的实际大小: https://github.com/permagnus/UITextField-Resize-Issue-Demo/blob/master/Screenshots/screenshot-showing-textfield-size.png
有什么解决这个问题的想法吗?