objective-c - Push segue 在加载 View 之前短暂显示空白屏幕

标签 objective-c ios uitableview storyboard segue

在 Storyboard 中,我有一个 TableViewController 和一个到 DetailViewController 的推送 segue。 TableVC 嵌套在导航 Controller 中。我在 Storyboard 中将 DetailViewController View 设置为黑色背景。 DetailVC 还包含一个在其 viewDidLoad 中加载的 webview。我在 TableVC 的 prepareForSegue 中将 webview 的 URL 传递给 DetailVC。

在点击单元格时执行推送转场时,我遇到了一些奇怪的行为。在执行 segue 之后,DetailVC 的 View bg 颜色会短暂地变为白色(导航栏显示正常)。然后 View 的 bg 颜色变为黑色(它在 Storyboard中设置为黑色)。然后加载 webview。我不确定是什么导致 DetailVC 的 View bg 颜色延迟。

这是我的 prepareForSegue 方法:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"Radio Show Playback"])
    {
        RadioShowPlaybackVC *radioShowPlaybackVC = segue.destinationViewController;
        NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
        radioShowPlaybackVC.radioShowData = self.radioShows[indexPath.row];
    }
}

编辑: 跟webview有关系。当我删除 webview 时,segue 会根据需要进行转换。

编辑:我目前的解决方法是隐藏 webview 直到它加载。未加载时,bg颜色显示为白色,不可修改。

最佳答案

如果您从未解决问题,您一定要听听 Vito 关于主线程的回答。但还要将以下内容添加到您的代码中:

[webView setBackgroundColor:[UIColor clearColor]];
[webView setOpaque:NO];

如果它仍然显示白色,只需将 clearColor 更改为 blackColor。

关于objective-c - Push segue 在加载 View 之前短暂显示空白屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13314193/

相关文章:

iOS——奇怪的异常(exception)

swift - 为什么两个连续的页面打开时带有 segue

objective-c - 在 UITableView 中自定义索​​引/部分栏的字体/背景颜色

objective-c - 如何打开文档目录中的Html页面?

iphone - 使单元格 imageView 飞入动画

ios - 如何直接将数组中的所有字符串大写?

ios - 使用自动布局创建 UIButton 时,如何删除 UIButton 的顶部和底部填充?

IOS - UITableViewCell 重叠 UITableViewCell

ios - Objective-C : Infinite getter method loop after converting to ARC

ios - 将数据发送到 detailViewController 不起作用?