我试图添加一个UITableView覆盖整个屏幕的对象
UITableView *tabelView = [[UITableView alloc] initWithFrame:self.view.bounds];
[self.view addSubview:tabelView];
Run Code Online (Sandbox Code Playgroud)
但我意识到,即使物理iPad 2的旋转为横向模式,self.view.bounds是{{0, 0}, {768, 1004}}在viewDidLoad和viewWillAppear.只有在viewDidAppear最后{{0, 0}, {1024, 748}}
最self.view.bounds正确的设定时间是什么时候{{0, 0}, {1024, 748}}?如果viewDidAppear是那个,那么我必须在UITableView那里创建,如果"启动图像"是静态横向空白表,那么当viewDidAppear调用时屏幕将闪烁白色屏幕,然后添加并查看表格,看到闪光的白色屏幕.
那么什么时候最早的时间self.view.bounds设置正确{{0, 0}, {1024, 748}}呢?它似乎需要稍微提前viewDidAppear,以便绘制空白表(使用灰线),并显示它并无缝显示以掩盖启动图像.如果在表中创建表viewDidLoad或viewWillAppear使用self.view.bounds表,则表最终为768点宽,适用于纵向模式.
更新:我只是尝试添加启动图像,由于某种原因,即使UITableView添加viewDidAppear,"白屏闪存"没有发生...我不知道为什么,但以前,如果我使用CALayer和位图显示内容,并没有使用任何视图或drawRect,然后闪光发生...顺便说一句,我发现的最早的viewWillLayoutSubviews,然后在viewDidLayoutSubviews之前发生的viewDidAppear两个,都显示self.view.bounds为{{0, 0}, {1024, …