视图之间的转换就好像是模态的

时间:2012-10-24 13:08:52

标签: objective-c ios views

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

[self dismissModalViewControllerAnimated:true];

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

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

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

所以我正在寻找一种方法来立即显示登录屏幕并转换到主屏幕,其动画与dissmissModalViewControllerAnimated相同:true。

2 个答案:

答案 0 :(得分:0)

你应该能够立即禁用动画吗?

[self presentModalViewController:loginScreen animated:NO];

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

答案 1 :(得分: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