2015-10-05 59 views
0

我正在嘗試爲屏幕創建佈局,並且我面臨一個問題 - 在不同的屏幕上,兩個textview之間的空間不同。Autolayout - 與不同屏幕上的對象不同的空間

enter image description here

我不明白爲什麼會發生 - 我明確地告訴IB使兩種觀點之間的垂直間距。

我的約束是這樣

enter image description here

enter image description here

我在做什麼錯?任何建議?

+0

首先,擺脫那個「幻數」。改用標準值。 -4和-5似乎不合適。 –

回答

1

,兩個文本視圖之間的大小沒有變化。

它看起來好像會有更多空間的原因是因爲更多文本適合一行,因此文本的總高度在較寬的設備上較少。

您可以通過更改文本視圖的背景顏色來自己查看。


如果你在需要有兩個文本視圖之間完全相同的空間死肯定,不管什麼在他們(考慮到該文本可能是在其他語言中完全不同的),你有2選項:

  1. 以編程方式計算文本的高度並設置高度約束。這是允許你這樣做的各種方法(sizeWithAttributes,boundingRectWithSize:),但是我用它們已經很久了,它們可能會被棄用。
  2. 一個利基解決方案是將您的整個視圖改爲表格視圖。您可以使表格視圖單元格根據內容自動增長(截至iOS 8)。

我更喜歡第二種解決方案。

+0

你說得對。我怎樣才能改變約束條件,使它看起來類似於任何地方? –

+0

即使我建議不要花費太多時間,只是簡單地把它留下,我已經發布了兩種可能的解決方案。 –

0

我認爲你必須在代碼中處理這個問題。我相信發生的事情是,即使沒有足夠的文本來填充該空間,文本視圖也會佔用一定的空間。然後,從此底部應用間距。

爲您的文字視圖添加背景顏色,這應顯示是否發生這種情況。

如果是這種情況,您需要根據提供的文本更新文本視圖大小。

編輯

關閉我的頭頂。你不能只使用一個文本視圖,並使用屬性文本來添加間距的段落嗎?