2015-11-26 29 views
1

我在與兩個子視圖的UIView(德)激活多個NSLayoutConstraints?

  • UIActivityIndicatorView
  • UIlabel

UIView大小是基於UIActivityIndicatorViewUIlabelNSLayoutConstraints

起初UIView的頂部鏈接到UIActivityIndicatorView的頂部,當我想要去激活約束並激活一個與UIView的掛UIlabel我在做頂部頂部這樣的:

_labelLayoutConstraintTopToSuperViewTop.active = YES; 
_labelLayoutConstraintTopToActivityIndicatorViewBottom.active = NO; 

這將導致一個警告,但是當我切換這本:

_labelLayoutConstraintTopToActivityIndicatorViewBottom.active = NO; 
_labelLayoutConstraintTopToSuperViewTop.active = YES; 

我不再得到警告,直到我鏈接視圖的頂部到再次。

有什麼辦法可以把這些改變放在一個批次或什麼東西?我誤解了什麼嗎?我試圖使用setNeedsUpdateConstraints,updateConstraintsIfNeeded,setNeedsLayoutlayoutIfNeeded,都沒有成功。

我希望我足夠清楚,thnx。

回答

0

F這個,我想不出來。

只要我激活一個約束,我就會收到關於我可能不想要的約束的警告,這是正確的,因爲我在下一行禁用了這個約束!

我現在的解決方法是隻將標籤的頂部附加到活動指標的頂部,並根據需要增加/減少常數。