[解決済み] ルートビューコントローラを取得する方法
2022-06-17 06:43:29
質問
ルートビューコントローラのインスタンスが必要です。
これらのアプローチを試してみました。
UIViewController *rootViewController = (UIViewController*)[[[UIApplication sharedApplication] keyWindow] rootViewController];
を返します。 null :
また、コントローラの配列を取得しようとすると
NSArray *viewControllers = self.navigationController.viewControllers;
コントローラは1つだけ返されますが、それは私のルートビューコントローラではありません。
ナビゲーションコントローラーから取得しようとすると
UIViewController *root = (UIViewController*)[self.navigationController.viewControllers objectAtIndex:0];
を返します。 null :
何か思い当たることはありますか? ルートビューコントローラのインスタンスを取得するために、他に何を試すことができますか?
ありがとうございます。
どのように解決するのですか?
にアクセスしようとしている場合
rootViewController
にアクセスしようとしているなら、これを試してみてください。
Objective-C
YourViewController *rootController = (YourViewController*)[[(YourAppDelegate*)
[[UIApplication sharedApplication]delegate] window] rootViewController];
スウィフト
let appDelegate = UIApplication.sharedApplication().delegate as AppDelegate
let viewController = appDelegate.window!.rootViewController as YourViewController
スウィフト3
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let viewController = appDelegate.window!.rootViewController as! YourViewController
Swift 4 & 4.2
let viewController = UIApplication.shared.keyWindow!.rootViewController as! YourViewController
Swift 5 & 5.1 & 5.2
let viewController = UIApplication.shared.windows.first!.rootViewController as! YourViewController
関連
-
[解決済み] dispatch_after - GCD in Swift?
-
[解決済み] NSTaggedPointerStringをNSStringに変換する。
-
[解決済み] arc4randomとarc4random_uniformの違いは何ですか?重複
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] メソッド名と行番号を出力し、NSLogを条件付きで無効にする方法は?
-
[解決済み] C言語で純粋にiOSアプリを書く方法
-
[解決済み】セマンティックな問題。プロパティの合成ゲッターは、「所有する」オブジェクトを返すためのCocoa命名規則に従っている。
-
[解決済み】なぜObjective-Cのファイルには.mという拡張子がついているのですか?
-
[解決済み】NSMutableArrayから反復処理中に削除する最良の方法は?
-
[解決済み] プッシュされたコントローラからRootViewControllerを取得するには?
最新
-
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。NULL、nil、@""の違いは何ですか?
-
[解決済み] Objective-Cは構造体の使用を禁じていますか?
-
[解決済み] .02fと%.2fの違いは何ですか?
-
[解決済み] NSNumberをNSStringに変換する方法
-
[解決済み] iOS 8で位置情報サービスが利用できない
-
[解決済み】SwiftのコードをObjective-Cにインポートするにはどうすればいいですか?
-
[解決済み】NSDateをNSStringに変換する。
-
[解決済み】UITableViewからセパレータラインを削除する方法はありますか?
-
[解決済み】iOS 7.0とシステム劣化で無効なコンテキスト0x0が表示される
-
[解決済み】新しい自動リファレンスカウント機構はどのように機能するのですか?