用故事板和經銷商佈局上的iOS 8的一個項目工作:刪除一個視圖的佈局約束,但保留其子視圖?
- 在故事板,爲這一觀點指定的約束和它的子視圖
- 在代碼中,以響應觸摸事件,我要改變這種觀點的通過設置幀大小
爲了使雙方1和2沒有警告的,我在做的時候第一次改變其大小,代碼如下:
[theView removeConstraints:theView.constraints];
theView.translatesAutoresizingMaskIntoConstraints = YES;
theView.frame = CGRectMake(0,0,width,height);
如果不這樣做第一線時,Xcode會抱怨了一大堆關於限制衝突,但加入這一行將會刪除其所有子視圖的約束也是如此。所以我的問題是:是否有辦法刪除這個uiview的約束條件而不是它的子視圖,比如說它上面的一個按鈕仍然想要將它的自身關聯到這個視圖的大小和位置?
爲什麼您需要通過設置其框架來更改視圖的大小?我認爲避免你所描述的問題的「正確」方法是在故事板中設置ViewView的大小約束時添加IBOutlets,然後在代碼中修改這些約束。 – Gamma
我這樣做,並在故事板運行代碼的時候,但現在它消除警告,佈局指南(虛線)警告顯示出來,而如果「更新幀」,其子視圖會出來的地方。大概我在這方面也是OCD :) –