3

私が見逃している簡単な解決策でなければなりません。ユーザーがアプリを起動または開くたびにパスコードで保護したい Tab View Controller 駆動型アプリがあります。IB でパスコード クラスとビュー コントローラーを作成しました。

次のコードで AppDelegate.m クラスの applicationDidLoadInForeground メソッドを使用しようとしています。

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    NSUserDefaults *submissionDefaults = [NSUserDefaults standardUserDefaults];
    if ([submissionDefaults boolForKey:@"passcodeActive"] == true)
    {   
        PINAuthViewController *pinController = [[PINAuthViewController alloc] init];
        [self presentViewController:pinController animated:YES completion:nil];
    }
}

PINAuthViewController クラスをヘッダーにインポートしました

#import "PINAuthViewController.h"

しかし、コンパイル時に「'AppDelegate' の可視 @interface がセレクター 'presentViewController:animated:completion' を宣言していません。

誰が私が間違っているのかアドバイスできますか? 意図は、パスコードが正しく入力された場合にパスコード ビュー コントローラーを閉じることです。

どうもありがとう、ジェームズ

4

2 に答える 2

12

ビュー コントローラーは UIViewController 自体のサブクラスではないため、アプリ デリゲートはビュー コントローラーを提示できません。

コードを次のように変更する必要があります。

[self.window.rootViewController presentViewController:pinController animated:YES completion:nil];
于 2012-12-15T19:05:28.910 に答える