在我的viewController.view
中,我在viewWillLayoutSubviews
中完成了一些工作,如果方向发生变化,可以组织哪些子视图可见,哪些子视图可以隐藏,哪些隐藏等等。
但是我的视图上有按钮,每次按下时都会导致viewWillLayoutSubviews
被调用。为什么会这样?根据Apple文档,只有在您的视图边界发生变化时才会调用viewWillLayoutSubviews
。
结果是我的视图只是按下按钮重新排列,但我根本不旋转设备,也不是以任何方式操纵view.bounds或view.frame。
答案 0 :(得分:2)
你最好做一件事,并且按下一个bool并按下按钮将其设置为TRUE并在layoutSubviews上检查它并操作它是真还是假。你得到了我想做的事。
答案 1 :(得分:0)
很奇怪,我写了一个演示只有2个方法,一个用于按钮动作,一个是- (void)viewWillLayoutSubviews
,当我按下按钮时,- (void)viewWillLayoutSubviews
没有被调用。可能你的代码中有些错误?< / p>