2012-10-24 26 views
1

我有一个登录界面我想隐藏,如:过渡,就好像一个是模态

[self dismissModalViewControllerAnimated:true]; 

但问题是,我需要这样的显示出来:

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

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

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

回答

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]; 

} 

而只是你设置self.view.hidden=NO之前分派ModalViewController。 请参阅https://github.com/jivadevoe/NSTimer-Blocks为NSTimer使用块

0

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

[self presentModalViewController:loginScreen animated:NO]; 

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

+0

+1为viewWillAppear位:) – deanWombourne

+0

OP已经在做第一件事。所以你的答案是“做到这一点将意想不到”。 –

+1

op编辑他们的帖子(我发誓:)) –