【发布时间】:2012-09-07 06:47:51
【问题描述】:
在我的viewController.view 中,我在viewWillLayoutSubviews 中完成了一些工作,这些工作组织了哪些子视图是可见的,哪些子视图要放在前面,哪些要隐藏,等等,如果方向发生变化。
但我的视图中有一些按钮以某种方式导致每次按下它们时都会调用viewWillLayoutSubviews。为什么会这样?根据 Apple 文档,viewWillLayoutSubviews 只有在您的视图边界发生变化时才会被调用。
结果是我的视图只是通过按下按钮重新排列,但我根本没有旋转设备,也没有以任何方式操纵 view.bounds 或 view.frame。
【问题讨论】:
-
你能说出你在按下按钮时正在执行什么操作吗??
-
是的,按下按钮会创建一个子视图并将其添加到视图中。
-
肯定是因为在按下按钮时添加了子视图。
-
这是有道理的,因为添加了子视图,它会再次尝试布局子视图。
-
你最好做一件事,andrews 取一个布尔值并在按钮按下时将其设置为 TRUE,并在 layoutSubviews 上检查它并操作它是真还是假。你明白我想要做什么。
标签: iphone objective-c ios ipad uikit