2

我想我的UITextField s用盡大部分屏幕。我已經嘗試在文本字段上設置約束,但這不起作用。我正在使用iPhone 5s和6進行測試。在iPhone 5上獲得體面大小在iPhone 6上在UITextField s的每側留下了很大的空間;當我在iPhone 6上設置所需的尺寸時,UITextField對於iPhone 5s上的屏幕來說太大了。如何使UITextField根據使用的iPhone來適當調整其大小?

我認爲我在設置滾動視圖等時使用的原理相同。這些UITextField s在滾動視圖中,並且我對使用不同設備的滾動視圖沒有任何問題。

我已經嘗試過大小​​適合,但這使得文本字段太小。我會提供代碼,但是我在Interface Builder中完成了這一切。

enter image description here

enter image description here

這些字段的內容查看內爲我滾動視圖。

我不介意Objective-C或Swift的答案。

+0

你能添加一個屏幕截圖顯示你使用的約束嗎? –

+0

您是否固定了文本字段的前導空格和尾部空格? – esqew

+0

添加了屏幕截圖。 – LondonGuy

回答

2

問題是Auto Layout會根據其內容自動計算出您的scrollView的內容大小。如果您不告訴它contentView的寬度,它必須通過scrollView中的項目約束來解決這個問題。即使您的textView被固定在scrollView的左側和右側,您也不得不指定它們的寬度,以便Auto Layout可以計算出您的scrollView的內容有多寬。爲了解決這個問題,將contentView添加到您的scrollView中,該scrollView將成爲scrollView中的單個頂級項目。所有其他項目將作爲contentView的子視圖添加。

  1. 將contentView添加到您的scrollView。將其左側,頂部,右側和底部邊緣固定到scrollView。限制其寬度等於scrollView的寬度。爲此,請打開文檔大綱視圖,控制從滾動視圖所包含的視圖拖動到滾動視圖,然後從彈出窗口中選擇「等寬」。限制其高度足以滿足您的所有內容。這將允許scrollView只能垂直滾動。

  2. 將您的textViews尾部和前緣限制到contentView。它們的寬度將自動伸展以填充每部手機的空間。

+0

我有一個contentView。我沒有像通常那樣設置約束條件,因爲滾動似乎沒有這樣做。我現在就試試這個。 – LondonGuy

+0

錯誤消失了:http://tinypic.com/r/2f0btp4/8但仍然沒有運氣與佈局:http://tinypic.com/r/2duh8nc/8 – LondonGuy

+0

是你的scrollView固定到頂部,底部,左側和右側頂級視圖? – vacawama

0

假設您有單個文本字段。然後,你必須申請下列約束,以滿足所有的約束:

  1. 左間距
  2. 右間距
  3. 到頂的間距
  4. 寬度
  5. 高度

寬度和高度的限制是最重要的一個。當所有約束條件滿足時,線條將變爲藍色。嘗試這個 。

+0

嗨,是的,這是我的理解,但我是在印象之下,如果我設置的寬度,那麼文本字段將成爲一個固定的大小。因此,例如,如果我設置寬度以容納iPhone 6,那麼使用iPhone 5時不會太大? – LondonGuy

+0

這裏的寬度和高度意味着寬度和高度的限制。你的意思是否一樣? @LondonGuy –

相關問題