1

iPhone でアプリの最初のビューを読み込む前に、ユーザー名とパスワードをキャプチャする画面を追加する必要があります。この(後期)追加を除いて、アプリ全体がコード化され、機能しています。これは Xcode での最初のアプリなので、システムにまったく慣れていません。

LoginViewController をセットアップしましたが、最初にロードしてから RootViewController をロードするようにアプリの前面に追加する方法がわかりません (次のビューをロードする前にログインの詳細が必要です)。

私のappdelegateのヘッダーは現在

#import <UIKit/UIKit.h>

@class RootViewController;
@interface Online_HW_DiaryAppDelegate : NSObject <UIApplicationDelegate> {

UIWindow *window;
RootViewController *viewController;

UINavigationController *navigationController;

}

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;
@property (nonatomic, retain) IBOutlet RootViewController *viewController;

@end  

しかし、何を変更する必要があるのか​​ わかりません-または実際に他に何を変更する必要がありますか? アドバイスをいただければ幸いです。

4

1 に答える 1

3

最速のパスはこれだと思います: RootViewController の viewDidAppear で、ログインが必要な状態を検出し、新しい LoginVC をモーダルに提示します。

// RootViewController.m
- (void)viewDidAppear:(BOOL)animated {

    [super viewDidAppear:animated];

    if (/* user must login */) {
        LoginVC *newVC = [[LoginVC alloc] initWithNibName:.....];
        [self presentModalViewController:newVC animated:YES];
    } else {
        // your old viewwillappear logic
    }
}

LoginVC は、ユーザーが正常にログインしたと判断すると、それ自体を閉じることができます。

// LoginVC.m
- (void)loginFinished {

    // after some asynch call that validated the user credentials
    [self dismissModalViewControllerAnimated:YES];
}
于 2012-04-21T15:57:08.340 に答える