覆盖内部UIViewController方法有什么后果?
[UIViewController viewDidMoveToWindow:shouldAppearOrDisappear:]
给了我一些问题。它将我的框架调整为我不想要的值 有时 。我甚至不知道它取出新帧的值(它接近于我添加它的超级视图的大小,但是偏离了2px)。参考:this question, which I also need some help with.
我尝试在视图控制器中定义一个空的- (void)viewDidMoveToWindow:(UIWindow *)window shouldAppearOrDisappear:(BOOL)flag
方法。 Bug消失了。 >。<
有人知道覆盖-viewDidMoveToWindow:shouldAppearOrDisappear:
是否可行吗?还是其他一些解决方法?
或者,是否有人知道何时以及为何-viewDidMoveToWindow:shouldAppearOrDisappear:
喜欢更改框架尺寸 有时 ?
提前致谢。
答案 0 :(得分:2)
如果您覆盖该方法,则存在被拒绝的风险,则该文档无法记录。不违反规则的方法是覆盖视图控制器中视图的setFrame:
方法。
如果您认为这是一个错误,请将最小的测试用例放在一起并提交给http://bugreport.apple.com,并可能将其上传到我们可以确切了解正在发生的事情的位置。
答案 1 :(得分:2)
对于你问题的“为什么”部分;框架可以在两种情况下自动更改:
要在您的案例中找到确切的罪魁祸首,您可以在被覆盖的setFrame:
中设置断点。