1

我有一个我想隐藏的登录屏幕:

[self dismissModalViewControllerAnimated:true];

但问题是我需要像这样显示它:

-(void)viewDidAppear:(BOOL)animated {
    [self presentModalViewController:loginScreen animated:false];
}

这意味着我会在弹出登录屏幕之前闪烁当前屏幕。

所以我正在寻找一种立即显示登录屏幕并使用与 dissmissModalViewControllerAnimated:true 相同的动画过渡到主屏幕的方法。

4

2 回答 2

0

你应该能够禁用动画所以它的瞬间?

[self presentModalViewController:loginScreen animated:NO];

如果它仍然短暂闪烁,请在 viewWillAppear 中执行。

于 2012-10-24T13:11:12.040 回答
0

我做了什么(也许不是最好的解决方案):

- (void)viewDidLoad
{
    // Initial set to hidden for avoiding a flickering UI
    self.view.hidden=YES;
}
-(void)viewWillAppear:(BOOL)animated
{
    [NSTimer scheduledTimerWithTimeInterval:0 block:^{
        [self presentModalViewController:self.loginViewController animated:NO];
    } repeats:false];

}

就在您调度您设置的 ModalViewController 之前self.view.hidden=NO。有关使用块的 NSTimer,请参阅https://github.com/jivadevoe/NSTimer-Blocks

于 2013-01-04T12:14:55.547 回答