2

なぜこれが機能しないのですか:

- (void)viewDidLoad {
Login *neu =[[Login alloc] initWithNibName:nil bundle:nil];
    [self presentModalViewController:neu animated:NO];
}

しかし、これは機能します

-(IBAction)dologin:(id)sender{
Login *neu =[[Login alloc] initWithNibName:nil bundle:nil];
    [self presentModalViewController:neu animated:NO];
}

特定のクラスがロードされるときに、指定したクラスを直接ロードしたかったのですが...

4

2 に答える 2

1

I think it will work if you move [self presentModalViewController:neu animated:NO]; to viewDidAppear:

That way the modal view controller will pop up as soon as the view appears.

于 2010-01-17T21:02:46.423 に答える
0

viewDidLoad:モーダルビューを配置したい場所ではありません。メモリ不足の警告がView Controllerをアンロードした後に呼び出される可能性があり、ユーザーがそこに戻ると、予期せずモーダル ビューを表示しようとします。アプリの起動時に何かを提示したい場合はapplicationDidFinishLaunching:、アプリのデリゲートで行うか、NSNotfication オブザーバーを設定します。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationDidFinishLaunching:) name:UIApplicationDidFinishLaunchingNotification object:nil];

そしてそこに電話presentModalViewController:

于 2010-01-16T11:09:52.940 に答える