[英]Update constraints of subviews after superview frame changes
我有一個UIView
子類(用於處理拖放),並使用Interface Build添加了兩個子視圖: UIImageView
和UILabel
。
兩者都有約束:
UIImageView
邊框與UIImageView
邊框匹配,以填充所有可用空間。 UILabel
垂直和水平居中。
在這里您可以看到三個(超級背景為綠色)。
當我為超級視圖中的幀變化設置動畫時,我的問題就來了。 超級視圖看起來不錯,但其子視圖變得瘋狂。
在這里您可以看到它(忽略棕色正方形,是從另一個角度來看的)
如您所見,盡管我在每個子視圖上都調用updateConstraints
,但子視圖還是從父視圖中“掉下”了。
我知道將AutoLayout與setFrame混合使用是不好的做法,但這是我知道的唯一方法。
謝謝
感謝評論,我做了一些更改。
1)使用UIImageView更改超級視圖(綠色的)。
2)刪除UILabel並使用CATextLayer放置文本,使用此答案將文本垂直居中放置在UIImageView的前面。
現在工作正常。 謝謝您的幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.