2012-09-23 30 views
4

我正在使用Xcode 4.5和iPhone 4和5模擬器,界面生成器會在頂部約束的屏幕的上半部分添加一個UIButton,並在底部約束的屏幕下半部分添加一個UIButton。如何使界面生成器爲Xcode 4.5和iPhone 5構建的視圖中的控件不重疊?

它可以在iPhone 5模擬器上正常工作,但在iPhone 4模擬器上,按鈕可以重疊,或者底部按鈕甚至可以位於頂部按鈕之上。

我認爲這是由於約束,如底部按鈕「必須距離底部邊距250點」。我不能刪除約束條件,如果我將其更改爲「250點或更少」,它將無法工作,如果我將其更改爲「250點或更多」,它也不起作用。

有沒有一種辦法:

1)使其具有沒有限制,但絕對x和y公正的立場? (或者過去的春天是怎麼回事,這樣iPhone 5中的所有東西都會更加分散)

2)將NIB製作成適用於iPhone 4和4S的版本,以便該應用在iPhone 4上運行良好和4S以及iPhone 5上的「黑色禁止」。

3)讓它在iPhone 5上運行良好,並在iPhone 4上運行良好?

如果您只知道上述(1),(2)或(3)的解決方案,請不必考慮,因爲它仍然是過渡期可行的解決方案。

它實際上非常容易重現:使用Xcode 4.5創建一個簡單的Single View應用程序,並在屏幕中心點上方拖動一個按鈕,並在屏幕中心點下方拖動一個按鈕。然後在模擬器上運行它。在iPhone 5,它是:

enter image description here

現在停止應用程序,並更改設備的模擬器到iPhone 4S(3.5英寸的Retina)。如果您不先停止應用程序,模擬器可能會崩潰。現在,再次運行應用程序,並且按鈕會重疊:

enter image description here

+0

顯示一些截圖可以幫助 –

+0

添加上述.... –

回答

0
  1. 我不知道,因爲我沒有使用基於約束的佈局(並不會直到我們放棄對iOS的支持5)。傳統的基於NIB的自動調整將執行絕對座標。
  2. 你不能只爲一個屏幕,據我所知—你可以通過刪除[email protected]爲你的整個應用程序禁用它。
  3. 我會去編程佈局,或者如果你想要簡單的方法(這將是一個痛苦的維護),不同的屏幕尺寸的筆尖。請注意,你要正確處理通話中狀態欄太...

編輯:將兩個按鈕在容器視圖並進行約束中心其父容器內部?它不會調整按鈕之間的間距,但在兩個設備上看起來都不錯。

0

選擇您的按鈕併爲它們添加「垂直間距」約束。並設置「小於」頂部/底部邊距。

6

我有同樣的問題,這是由於一個錯誤的自動調整設置。要更改自動大小,請點擊界面生成器中的控件,轉到大小檢查器。

通知的紅色粗體我公司在自動調整大小格,他們控制放置在屏幕大小(從iPhone 3GS將iPhone 5

Autosizing from the bottom left

當像我認爲這將工作最適合你如果你讓你自動調整大小看起來像這樣:

Autosizing from top left

相關問題