簡體   English   中英

更改超級視圖框架后更新子視圖的約束

[英]Update constraints of subviews after superview frame changes

我有一個UIView子類(用於處理拖放),並使用Interface Build添加了兩個子視圖: UIImageViewUILabel

兩者都有約束:

UIImageView邊框與UIImageView邊框匹配,以填充所有可用空間。 UILabel垂直和水平居中。

在這里您可以看到三個(超級背景為綠色)。

在此處輸入圖片說明

當我為超級視圖中的幀變化設置動畫時,我的問題就來了。 超級視圖看起來不錯,但其子視圖變得瘋狂。

在這里您可以看到它(忽略棕色正方形,是從另一個角度來看的)

在此處輸入圖片說明

如您所見,盡管我在每個子視圖上都調用updateConstraints ,但子視圖還是從父視圖中“掉下”了。

我知道將AutoLayout與setFrame混合使用是不好的做法,但這是我知道的唯一方法。

謝謝

感謝評論,我做了一些更改。

1)使用UIImageView更改超級視圖(綠色的)。

2)刪除UILabel並使用CATextLayer放置文本,使用此答案將文本垂直居中放置在UIImageView的前面。

現在工作正常。 謝謝您的幫助。

暫無
暫無

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

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