未在窗口上调用traitCollectionDidChange

时间:2019-03-20 23:42:29

标签: ios uiwindow uitraitcollection

我遇到一种情况,需要在窗口上注入全屏视图。无论出于何种原因,都不能在“ window.rootViewController.view”上插入全屏视图。全屏视图可动态响应肖像和风景布局的特征收集更改。

问题是,当将此全屏视图注入到根窗口中时,它似乎不响应任何特征收集更改事件(当设备旋转时)。如果我在任何UIViewController的视图中注入相同的全屏视图,则可以正常工作-特征收集事件会按预期触发。只有当我尝试在窗口上插入这些特征更改事件时,才会触发。

我需要做些什么来使特征收集更改在窗口级别上起作用吗?还是知道这仅在UIViewControllers及其视图中有效?

// This works fine 
UIWindow *window = [[UIApplication sharedApplication].delegate window];
[window.rootViewController.view addSubview:self.fullScreenControlsView];

// View is visible but traitCollectionDidChange does not fire 
UIWindow *window = [[UIApplication sharedApplication].delegate window];
[window addSubview:self.fullScreenControlsView];

0 个答案:

没有答案