我發現與UITextField有關的問題。我創建了一個uitexfield的子類,允許用戶點擊文本開始編輯,然後旋轉和調整文本大小。UITextField調整大小問題
如果通過增大高度來調整文本框的大小,即使文本框的寬度不增加,居中文本也會向右移動。我調查了這一點,發現uitextfield具有UIFieldEditor類型的內部視圖,而該視圖又具有_UIFieldEditorContentView視圖。 UIFieldEditor似乎是UIScrollView的子類,並且此scrollview的內容大小比uitextview的大小要大得多。當textview增加高度時,scrollviews內容寬度會增加。我想這可能是一個內部自動佈局問題。
我在這裏添加了一個演示項目來演示這個問題。點擊文本開始編輯,然後拖動調整大小圖標,使高度增加,您將看到問題。從revealapp
https://github.com/permagnus/UITextField-Resize-Issue-Demo
Screenhots:在滾動視圖基礎視圖的
的UITextField的實際工作尺寸:https://github.com/permagnus/UITextField-Resize-Issue-Demo/blob/master/Screenshots/screenshot-showing-textfield-size.png
關於如何解決此問題的任何想法?
感謝您發現這些解決方法。使用Apple建議。在任何成爲FirstFoundResponder之後調用類似以下的私人func resetTextField(textField:UITextField)let text = textField.text textField.text =「」 textField.text = text } –