iOS9:UIViewController:当viewController在第二个UIWindow中运行时,不会在拆分视图更改时调用viewWillTransitionToSize

时间:2015-12-10 08:08:43

标签: uiviewcontroller ios9 uiwindow split-screen-multitasking split-screen

我的应用程序使用两个UIWindows,第一个运行主应用程序,第二个运行一些东西,显示在所有的前景中。两个窗口都有一个视图控制器。当我的应用程序的拆分视图大小发生更改时,将在主应用程序UIViewController上调用viewWillTransitionToSize,而不是在第二个窗口的viewController上调用viewWillTransitionToSize。当应用程序的方向发生更改时,将调用这两种方法。我该怎么做,都会调用viewWillTransitionToSize选择器?

1 个答案:

答案 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];
        }    
    }