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 に答える