簡體   English   中英

iPhone5中的自動版式問題

[英]AutoLayout problems in iPhone5

我有一個Xcode 4.5.2項目,我有一個帶有四個UIView的故事板。 在iOS 6的StoryBoard部署中,自動布局設置為ON

我希望信箱在iPhone 5上運行時顯示在頂部和底部,而在iPhone5上運行時不調整視圖的大小

當我在iPhone5中運行我的應用程序時-我看不到letterBox-UIViews被自動拉伸(不正確)

當我在iPhone 4上運行該應用程序時-一切都按預期進行。

為什么信箱未按預期顯示?

如果出於某種原因您希望您的應用在iPhone 5上表現出與舊應用相同的方式-操作系統自動將信箱顯示為3.5英寸屏幕尺寸,則請在應用中不要包含Default-568h@2x.png。 但是,Apple希望提交到App Store的新應用程序可以支持4英寸屏幕,因此,如果您希望以這種方式分發應用程序,那么您對這種策略可能不會太了解。

如果您想“支持” iPhone 5(和iPod touch第5代)屏幕,但將大多數用戶界面保持在舊的屏幕尺寸上……那么,您的用戶可能會不喜歡它(而App Store審閱者可能也不喜歡),但是可以使用“自動版式”。 問題在於,窗口(或視圖控制器)的視圖層次結構中的根視圖始終會自動調整大小以適合屏幕大小-但是,不必說它必須是實際UI內容的主要容器。

  1. 在IB中,在編輯器處於3.5英寸屏幕模式下,將新的UIView拖放到視圖控制器的根視圖中。 它應自動調整大小以填滿屏幕(460點高)。

  2. 添加一個Pin> Height約束,以便無論其父視圖如何調整大小,視圖均保持460點高。

  3. 在“容器”約束中添加“ 對齊”>“垂直居中”,以便在其父視圖的高度發生更改時使視圖保持居中。

  4. 將所有用戶界面放入此視圖。

現在,在iPhone 5上,用戶界面上方和下方將出現白色條(如果需要,可以更改根視圖的顏色)。

請注意,這僅在您的UI不會旋轉到橫向時才有效。 我認為您不能僅使用一組約束就可以對兩種方向進行這種人工裝箱,因此,如果要支持旋轉,則需要通過編程方式切換約束來響應方向變化 ,例如銷釘高度和縱向垂直居中,圖釘寬度居中,橫向水平居中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM