3

ipad 用の分割ビュー アプリケーションを作成していますが、ログイン用に別のビュー コントローラーを表示する必要があります。Appdelegate の didFinishLaunchingWithOptions 関数でこれを呼び出します。

    LoginViewController *login = [[LoginViewController alloc] init];
[info setModalTransitionStyle: UIModalTransitionStyleCrossDissolve];
[self presentViewController:login animated:YES completion: nil];

しかし、3行目に「AppDelegateの目に見える@interfaceがセレクターpresentViewControllerを宣言していません」というエラーが表示されます。

表示したいView ControllerはLoginViewControllerクラスに設定しています。すべてのクラスをインポートしました。

私はプログラミングにかなり慣れていないので、助けていただければ幸いです。

ありがとう!!

4

1 に答える 1

1

エラー メッセージは、クラスAppDelegateに というメソッドが含まれていないことを示していますpresentViewControllerUIViewController実際、そのメソッドはクラスに属しています。

何をすべきかは、ナビゲーション コントローラー、タブ バー コントローラー、または単純なビュー コントローラーのいずれを使用するかによって、プロジェクトの作成方法によって異なります。

あなたのコメントから、ウィンドウベースのテンプレート (または空のアプリケーション) を使用してプロジェクトを作成したことがわかりました。この場合、次のapplication:didFinishLaunching:ようなものが必要です。

self.login = [[LoginViewController alloc] init];
[self.window addSubview:self.login.view];

また、AppDelegate.h に次の宣言を追加します。

@property (nonatomic, strong) LoginViewController* login;

これがあなたのケースに当てはまらない場合は、あなたの定義を投稿してくださいapplication:didFinishLaunching:

于 2012-10-25T10:44:12.743 に答える