我的应用程序使用两个UIWindows,第一个运行主应用程序,第二个运行一些东西,显示在所有的前景中。两个窗口都有一个视图控制器。当我的应用程序的拆分视图大小发生更改时,将在主应用程序UIViewController上调用viewWillTransitionToSize,而不是在第二个窗口的viewController上调用viewWillTransitionToSize。当应用程序的方向发生更改时,将调用这两种方法。我该怎么做,都会调用viewWillTransitionToSize选择器?
答案 0 :(得分:0)
作为一种解决方法,我观察主应用程序窗口大小......
[[UIApplication sharedApplication].delegate.window addObserver:self forKeyPath:@"frame" options:0 context:0];
...并更新第二个窗口内容的布局:
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { if (object == [UIApplication sharedApplication].delegate.window) { [self updateLayout]; } }