[解決済み] 「アプリケーションはアクティブなコントローラを表示しようとした」?
質問
私はちょうど
NSInvalidArgumentException
を表示するクラッシュを発見しました。
アプリケーションはアクティブなコントローラをモーダルに表示しようとしました UITabBarController: 0x83d7f00.
私は
UITabBarController
で作成した
AppDelegate
の配列を渡し
UIViewControllers
.
そのうちの1つは、タップしたときにモーダルに表示させたいと思います。デリゲートメソッドを実装してそれを実現しました
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
もしそのビューコントローラがモーダルに表示したいものと同じクラスであれば、NOを返して次のようにします。
[tabBarController presentModalViewController:viewController animated:YES];
そして今、私はそのエラーを受け取っています。それは、他のどこか(タブバーで...)でアクティブになっているビューコントローラをモーダルに表示することができないという意味らしいのです。 私はXCode 4.2 Developer Preview 7にいるので、これはiOS 5だと言っておきます(NDAについて知っていますが、私は禁じられた詳細を与えていないと思っています)。私は現在、iOS4 SDK に対してコンパイルしてクラッシュするかどうかをテストするための XCode インストールを持っていませんが、そうでないことはほぼ間違いありません。
どなたかこの問題を経験されたことがあるか、または何か提案があるかどうかをお聞きしたかっただけです。
どのように解決するのですか?
このように3つのビューコントローラがインスタンス化されていると仮定します。
UIViewController* vc1 = [[UIViewController alloc] init];
UIViewController* vc2 = [[UIViewController alloc] init];
UIViewController* vc3 = [[UIViewController alloc] init];
このようにタブバーに追加していますね。
UITabBarController* tabBarController = [[UITabBarController alloc] init];
[tabBarController setViewControllers:[NSArray arrayWithObjects:vc1, vc2, vc3, nil]];
今、あなたはこんなことをしようとしています。
[tabBarController presentModalViewController:vc3];
これは、タブバーコントローラが、あなたが与えたビューコントローラを死守しているため、エラーが発生します。 タブバーのビューコントローラの配列に追加しないか、モーダルに表示しないかのどちらかです。
Apple は、UI 要素を特定の方法で処理することを期待しています。 これはおそらく、ヒューマン インターフェイス ガイドラインのどこかに、「私たちはあなたがこれをしたいと思うことを期待していないので、これをしないでください」という形で埋め込まれています。
関連
-
[解決済み] キーボードがあるときに、UITextFieldを編集開始時に上に移動させるには?
-
[解決済み] Objective-Cで配列に結合する
-
[解決済み] Objective-CのクラスでSwiftのプロトコルをインポートする
-
[解決済み] ARCを使用する場合、deallocでプロパティをnilに設定するのですか?
-
[解決済み] カレントスレッドがメインスレッドであるかどうかをチェックする
-
[解決済み] iOSのBackground Threadの起動
-
[解決済み] メソッドが存在するかどうかをチェックする
-
[解決済み] Objective-CでQueueを作成し、使用するにはどうすればよいですか?
-
[解決済み] AppDelegateからストーリーボード上の異なる場所で条件付きで開始する。
-
[解決済み] Objective-Cでクラスのインスタンスを@protocolにキャストする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Objective-Cのクラス→文字列のようなものです。[NSArray className] -> @"NSArray" のようになります。
-
[解決済み] 角括弧 < > と引用符 " " を使って #import する。
-
[解決済み] Objective-CのクラスでSwiftのプロトコルをインポートする
-
[解決済み] NSObject +loadと+initialize - これらは何をするのですか?
-
[解決済み] Swiftでクラスをプロトコルに準拠させるには?
-
[解決済み] NSArrayのディープコピー
-
[解決済み] このgdbの出力は何を意味しているのでしょうか?
-
[解決済み] Objective-Cでオブジェクトをコピーする方法
-
[解決済み] Objective-Cのプロテクトメソッド
-
[解決済み] 警告 "format が文字列リテラルでなく、format の引数がない場合"