我想知道我的应用程序中哪个视图是离屏渲染的。因此,我使用iOS模拟器的“颜色离屏渲染”功能,可以将那些离屏渲染的视图标记成黄色。但是,在应用程序启动后,整个屏幕都被涂成了黄色,我不敢相信这个结果。
然后,我尝试了我的测试代码:
然后,我尝试了我的测试代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.window.backgroundColor = [UIColor whiteColor];
self.window.rootViewController = [[UITabBarController alloc] init];
// self.window.rootViewController = [[UINavigationController alloc] init];
// self.window.rootViewController = [[UIViewController alloc] init];
[self.window makeKeyWindow];
}
正如您在上面看到的,我只是通过原始控制器三次不同地设置了窗口的rootViewController: 'UITabBarController'、'UINavigationController'和'UIViewController'。
你猜怎么着?
只有'UIViewController'没有整个屏幕着色!!!
那么,有人知道为什么原始的rootViewController和UINavigationController会出现整个屏幕的离屏渲染吗?