iOS9:UIViewController:当 viewController 在第二个 UIWindow 中运行时,不会在拆分视图更改时调用 viewWillTransitionToSize
Posted
技术标签:
【中文标题】iOS9:UIViewController:当 viewController 在第二个 UIWindow 中运行时,不会在拆分视图更改时调用 viewWillTransitionToSize【英文标题】:iOS9: UIViewController: viewWillTransitionToSize is not called on split view changes when viewController is running in a second UIWindow 【发布时间】:2015-12-10 08:08:43 【问题描述】:我的应用程序使用两个 UIWindows,第一个运行主应用程序,第二个运行一些要在前台显示的东西。两个窗口都有一个视图控制器。当我的应用程序的拆分视图大小发生变化时,会在主应用程序 UIViewController 上调用 viewWillTransitionToSize,但不会在第二个窗口的 viewController 上调用。当应用程序的方向改变时,这两种方法都会被调用。我该怎么办,两个 viewWillTransitionToSize 选择器都被调用了?
【问题讨论】:
【参考方案1】:作为一种解决方法,我正在观察主应用程序窗口的大小...
[[UIApplication sharedApplication].delegate.window 添加观察者:自我 forKeyPath:@"帧" 选项:0 上下文:0];...并更新第二个窗口内容的布局:
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id) 对象 改变:(NSDictionary *)改变 上下文:(无效*)上下文 if (object == [UIApplication sharedApplication].delegate.window) [自我更新布局];【讨论】:
以上是关于iOS9:UIViewController:当 viewController 在第二个 UIWindow 中运行时,不会在拆分视图更改时调用 viewWillTransitionToSize的主要内容,如果未能解决你的问题,请参考以下文章
iOS9:在导航栏中隐藏 SegmentedControl 后,标题不出现
AVPlayer 不会在 iOS9 中播放来自 url 的视频
为许多 UIViewController 继承背景颜色和其他属性
iOS 9 willrotatetointerfaceorientation deprecated [重复]