[英]Strange behavior of constraints, iOS8
我對超級視圖有兩個基本看法。
我從代碼中添加的所有視圖和約束。 頂視圖的高度為H:| -0- [view] -0- |。 相同的vfl代碼具有底視圖。 接下來,頂視圖從頂部到頂部連接,第二個視圖從底部到頂部,第二個底部連接到底部。 代碼是V:| -0- [topView] -0- [secondView] -0- |。
第二個視圖的固有高度,因此兩個視圖的高度都取決於此值。 當我更改底視圖高度和動畫layoutIfNeed時,對我來說一切正常。 接下來,底視圖有一些子視圖。 底部是簡單的視圖容器,頂部是按鈕。 它們都附着在左/右,就像H:| -0- [view] -0- |。 底視圖也具有固有的高度,因此它們在垂直方向上像外部視圖一樣附加,而沒有(!)將按鈕附加到超級視圖的頂部(V:[button] -0- [secondView] -0- |)。 第二個視圖是從底部到底部固定的,但是當我設置該容器的高度變化的動畫時,其子視圖在iOS 8上處於頂部。
視圖層次結構為
約束:
H:|-0-[topView]-0-|
H:|-0-[bottomView]-0-|
V:|-0-[topView]-0-[bottomView(110)]-0-|
H:|-0-[buttonBackCamera]-0-|
H:|-0-[grayView]-0-|
V:[buttonBackCamera]-0-[grayView(85)]-0-| //here is constraint, that MUST attach grayView to bottom.
我注意到,在調試時,該約束是附加的,活動的並且必須起作用,但是:(。
有什么想法嗎?
UPDATE
我已經在iOS 8.3上進行了檢查,一切都正常。
確保底視圖包含從引導到超級視圖,從尾隨到超級視圖和從底部到底部向導的約束。 如果您仍然遇到任何問題,那就去吧,
-(void)viewWillLayoutSubviews
{
[self.view layoutIfneeded];
}
我認為我並沒有完全解決問題,但我建議您檢查所選的大小類以及每個啟用的約束的大小類。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.