簡體   English   中英

iOS 6中使用Autolayout的動態大小

[英]Dynamic size with Autolayout in iOS 6

我希望有一個視圖的大小(在這種情況下它的高度)取決於屏幕大小覆蓋iPhone4 / iPhone6的屏幕與一個xib。 所以,我想說我采用ListView,我不想讓它全屏,但我有固定的空間上下。 它的高度應該是:

screen_height - (space_above + space_below) 

在Interface Builder中,我可以設置兩個垂直空間約束,然后甚至刪除ListView的高度約束,使其高度由父視圖和這兩個空間約束決定。

在模擬指標中設置自由格式后,我可以拖動以更改根視圖的大小並查看約束是否有效(ListView正確調整大小)。

問題:

但是,如果我在模擬器中運行應用程序,則所有內容都顯示為在Interface Builder中的最后位置。 我錯過了什么阻止布局根據其約束工作?

如果我將模擬的指標更改為Retina 3.5或4,Xcode將刪除我的約束並返回到固定大小約束。

問題是根視圖沒有(假設其他)占用屏幕的大小。

也許不是最好的解決方案:

[self.view setFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];

但它使視圖的大小合適,並使約束起作用。

你想要這個嗎?

autoLayout Portrait

autoLayout LandScape

如果是,則放大圖像並遵循那里的約束。 當你使用autoLayout時它太有趣了,不是嗎?

暫無
暫無

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

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