我有一個UITextField
,旁邊有一個標籤,上面寫着「米」。這個想法是,你可以在文本框中鍵入一個數字,並在它旁邊顯示「米」字樣。文本字段沒有邊框,因此當您未編輯文本字段時,它將看起來像一行文本。如何在輸入時將UITextField寬度調整爲文本?
爲此,我需要將文本字段的寬度作爲文本的寬度。所以在你輸入時它需要變得更寬。但是,輸入時不會發生這種情況。但是,如果旋轉設備,尺寸會根據內容進行調整。所以基本上我需要在你旋轉時觸發任何觸發器來獲得我想要的。
我試過很多的東西在UIControlEvents.editingChanged
方法類似setNeedsLayout
,setNeedsDisplay
,layoutSubViews()
,setNeedsUpdateConstraints()
,但沒有運氣。
另一種方法是使用sizeToFit()
,然後將frame.size.width
設置爲文本字段的寬度限制。這確實奏效,但只是第一次編輯。當您第二次編輯時,sizeToFit()
始終以某種方式返回。
任何想法?
更新:我結束了使用不同的方法。我將文本字段設置爲全寬,並將計量標籤放在上面。當您輸入時,它會計算文本的寬度,並通過更改左側約束常數來相應地移動儀表標籤。這樣標籤總是在輸入的數字旁邊。
我仍然沒有找到一種方法來使文本字段的寬度變化,因爲你鍵入時不動作所有的馬車,但我不再需要它了。
請檢查http://stackoverflow.com/questions/18236661/resize-a-uitextfield-while-typing-by-using-autolayout我認爲這是同樣的問題。 –