0

私はあなたが最初に認証する必要があるiPhoneアプリケーションを書いています。したがって、viewDidLoadにアプリケーションが読み込まれるとすぐに、登録と認証を担当するUIViewControllerを割り当て、次のように表示します。

- (void)viewDidLoad {
    [super viewDidLoad];
    self.registerProfile = [[[RegisterViewController alloc] initWithNibName:@"RegisterProfile" bundle:nil] autorelease];
    [self presentModalViewController:self.registerProfile animated:YES];
    [self.registerProfile release];
 }

何らかの理由で、viewDidLoadから呼び出されたときに機能しません。しかし、そのビューにボタンを作成し、上記と同じコードを追加すると、それをクリックすると機能し、ビューが表示されます。

viewDidLoadで機能せず、ボタンで機能する理由はありますか?

NavBarと呼ばれるAppleの例もテストしました。ボタンをクリックすると、presentModalViewControllerを使用してビューが表示されますが、ViewDidLoadに追加すると、機能しませんでした。

ここで何が欠けていますか?ボタンを押すだけでなく、ビューが読み込まれたときにそのプロセスを自動的に実行したいと思います。

ありがとう!

4

2 に答える 2

1

遊んで深層ウェブを検索した後、私は解決策を見つけました。ビューはまだ初期化できないため、viewDidLoadではなくviewDidAppear内に同じコードを配置します。

于 2011-01-01T23:22:15.870 に答える
0

私はたまたま上記とほとんど同じコードを持っていて、それはうまく機能します。これを試してみてください:

- (void)viewDidLoad {
    [super viewDidLoad];
    self.registerProfile = [[[RegisterViewController alloc] initWithNibName:@"RegisterProfile" bundle:nil] autorelease];
    registerProfile.delegate = self; //set delegate as yourself
    [self presentModalViewController:self.registerProfile animated:YES];
    //[self.registerProfile release]; //don't worry about releasing it, it's been autoreleased.
 }
于 2010-12-30T12:10:41.967 に答える