隐藏视图iOS时如何摆脱黑屏

时间:2013-12-09 12:50:19

标签: ios iphone objective-c view

我的问题是,一旦我发送了电子邮件或者已经取消了Mailcomposer,我在解雇后在完成块中进行了预测。这会在执行segue之前显示前一个屏幕一瞬间。我一直试图在执行segue之前停止显示前一个屏幕,而不会在主线程上造成延迟,我尝试设置[self.view setHidden:YES];哪个有效,但是它显示的是前一个屏幕,它只是显示了一个黑屏一瞬间,在我看来看起来更糟糕。我的第二次尝试是将视图的背景颜色设置为白色,但这似乎没有任何效果。我也尝试过使用alpha和opaque属性,但两者似乎都没有对视图产生任何影响。

有人可以建议解决这个问题吗?代码如下。

- (void)mailComposeController:(MFMailComposeViewController*)controller
      didFinishWithResult:(MFMailComposeResult)result
                    error:(NSError*)error
{
    if(error) NSLog(@"ERROR - mailComposeController: %@", [error localizedDescription]);

    [self.view setHidden:YES];

    self.view.backgroundColor = [UIColor whiteColor];

    [self dismissViewControllerAnimated:NO completion:^{
        [self performSegueWithIdentifier:@"toCompletedOrderList" sender:nil];
    }];

    return;
}

0 个答案:

没有答案