如果我转换视图框架,子视图框架如何变化?

Posted

技术标签:

【中文标题】如果我转换视图框架,子视图框架如何变化?【英文标题】:How does a subview frame change if I transform the view frame? 【发布时间】:2010-09-25 17:42:50 【问题描述】:

我必须这样做:

1:CGRect originalSubviewFrame = subview.frame;
2:view.frame = (CGRect)newFrame;
3:subview.frame = originalSubviewFrame;

我认为指令 1 和 3 不应该存在,但如果我不恢复子视图形状,它会因某种原因而改变!?!? 我阅读了文档,但不清楚。

【问题讨论】:

【参考方案1】:

如果subviewview 的子视图,那么当view 的帧发生变化时,它的帧是否发生变化取决于view.autoresizesSubviews 是否为YES,如果是,则其表现方式由subview.autoresizingMask 确定.

我鼓励您阅读有关这两个属性的UIView documentation。

【讨论】:

正确!此类动画的最佳答案。谢谢!

以上是关于如果我转换视图框架,子视图框架如何变化?的主要内容,如果未能解决你的问题,请参考以下文章

从父视图控制器再次推送时,子视图框架发生变化

viewWillAppear 和 viewWillLayoutSubviews 之间的子视图框架有何变化?

更改 UICollectionViewCell 子视图框架

关闭当前视图控制器时 UIView 框架发生变化

键盘出现时如何移动视图Y轴变化

如何在子视图和父视图组触摸事件之间变化