[英]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.