タグ付けされた質問 「uinavigationcontroller」

UINavigationControllerクラスは、階層コンテンツのナビゲーションを管理する特殊なiOSビューコントローラを実装します。

16
ビューコントローラーがモーダルに表示されているか、ナビゲーションスタックにプッシュされているかを確認するにはどうすればよいですか?
ビューコントローラーのコードで、次の違いをどのように区別できますか? モーダルで提示された ナビゲーションスタックにプッシュ どちらpresentingViewControllerとisMovingToParentViewControllerされているYES両方のケースでは、とても便利ではありません。 状況を複雑にしているのは、私の親のビューコントローラーが時々モーダルであり、その上にチェック対象のビューコントローラーがプッシュされることです。 私の問題は、私が私のHtmlViewController中に埋め込むことであり、UINavigationControllerそれが次に提示されることです。それが、私自身の試みと以下の良い答えがうまくいかなかった理由です。 HtmlViewController* termsViewController = [[HtmlViewController alloc] initWithDictionary:dictionary]; UINavigationController* modalViewController; modalViewController = [[UINavigationController alloc] initWithRootViewController:termsViewController]; modalViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical; [self presentViewController:modalViewController animated:YES completion:nil]; ビューコントローラーがモーダルであるかどうかを判断するのではなく、判断する方がいいと思います。

10
iPhoneのFacebookアプリのようなSplitView
リンクに描かれているようなナビゲーションシーンを使用するiPhoneアプリを作成したい これがiPadだけで機能するのではなく、図のようにiPhoneでも機能することに注意してください。テーブルビューアイテムをクリックすると、テーブルビューが非表示になり、そのビューが全画面になります。自分ではわからないので、どうしたらいいか考えてみたいです。 ありがとう

15
UIRefreshControl-UITableViewControllerがUINavigationController内にある場合、beginRefreshingが機能しない
UITableViewController(UINavigationController内にあります)にUIRefreshControlを設定しましたが、期待どおりに機能します(つまり、プルダウンで正しいイベントが発生します)。ただし、次のようにプログラムでbeginRefreshing更新コントロールのインスタンスメソッドを呼び出すと、 [self.refreshControl beginRefreshing]; 何も起こりません。アニメートしてスピナーを表示します。endRefreshing私はリフレッシュした後、それを呼び出したときに方法が正しく動作します。 私はこの動作で基本的なプロトタイププロジェクトを作成しましたが、UITableViewControllerがアプリケーションデリゲートのルートビューコントローラーに直接追加された場合、正しく動作します。例: self.viewController = tableViewController; self.window.rootViewController = self.viewController; しかし、tableViewController最初にUINavigationControllerにを追加し、次にナビゲーションコントローラーをとして追加するrootViewControllerと、beginRefreshingメソッドは機能しなくなります。例えば UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:tableViewController]; self.viewController = navController; self.window.rootViewController = self.viewController; これは、ナビゲーションコントローラ内のネストされたビュー階層がリフレッシャコントロールでうまく機能していないことに関係していると思います-何か提案はありますか? ありがとう

6
ナビゲーションバーなしのUINavigationController?
私はユニバーサルアプリを持っています。iPadバージョンではUISplitViewController、メールアプリと同様のインターフェイスを作成するために使用しています。 新しい詳細ビューのプッシュに問題があったUINavigationControllerため、必要に応じてビューをプッシュおよびポップできるようにを使用することにしました。ただし、ナビゲーションビューやツールバーは使用したくありません。しかし、どうしてもナビゲーションバーを非表示にすることはできません。 IBで「Shows Navigation Bar」のチェックを外してみました。また、次の設定も試しました。 [self.navigationController setNavigationBarHidden:YES]; 中viewDidLoad/ viewDidAppear/ viewWillAppear。プッシュされる各ビューでも試してみました。何も機能しません。 ここで見逃しているものはありますか?UINavigationControllerツールバーやナビゲーションバーなしでを使用することはできますか?

12
iOS11での奇妙なuitableviewの動作。セルはナビゲーションプッシュアニメーションで上にスクロールします
最近、一部のコードを新しいiOS 11ベータ5 SDKに移行しました。 UITableViewから非常に混乱する動作が発生します。テーブルビュー自体はそれほど豪華ではありません。私はカスタムセルを持っていますが、ほとんどの場合、それはそれらの高さのためです。 tableviewを使用してビューコントローラーを押すと、セルが「スクロールアップ」する(またはtableviewフレーム全体が変更される)プッシュ/ポップナビゲーションアニメーションに沿って下がる追加のアニメーションが表示されます。gifを参照してください: 私は手動で作成tableviewしますloadViewメソッド自動レイアウト制約をテーブルビューのスーパービューの先頭、末尾、上、下に等しくなるように設定します。スーパービューは、ビューコントローラーのルートビューです。 ビューコントローラーのプッシュコードは非常に標準的です。 self.navigationController?.pushViewController(notifVC, animated: true) 同じコードがiOS 10で通常の動作を提供します。 何が悪いのかを教えていただけませんか? 編集:私は非常にシンプルなテーブルビューコントローラーを作成しましたが、そこで同じ動作を再現できます。コード: class VerySimpleTableViewController : UITableViewController { override func viewDidLoad() { super.viewDidLoad() self.tableView.register(UITableViewCell.self, forCellReuseIdentifier: "Cell") } override func numberOfSections(in tableView: UITableView) -> Int { return 1 } override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { …

9
UINavigationControllerの完了ハンドラー「pushViewController:animated」?
UINavigationController次のビューコントローラーを表示するためにを使用してアプリを作成します。iOS5では、プレゼンテーションに新しい方法がありUIViewControllersます。 presentViewController:animated:completion: なぜ完了ハンドラがUINavigationControllerないのですか?ただあります pushViewController:animated: newのような独自の完了ハンドラを作成することは可能presentViewController:animated:completion:ですか?

7
ルートビューコントローラーを取得する方法?
ルートビューコントローラーのインスタンスが必要です。 私はそれらのアプローチを試しました: UIViewController *rootViewController = (UIViewController*)[[[UIApplication sharedApplication] keyWindow] rootViewController]; 戻り値: null: また、コントローラの配列を取得しようとすると: NSArray *viewControllers = self.navigationController.viewControllers; 1つのコントローラーのみを返しますが、ルートビューコントローラーではありません。 ナビゲーションコントローラーから取得しようとした場合: UIViewController *root = (UIViewController*)[self.navigationController.viewControllers objectAtIndex:0]; 戻り値: null: 何かアイデアはありますか?ルートビューコントローラーのインスタンスを取得するために他に何ができるでしょうか? ありがとう。


12
iOSのnavigationControllerの戻るボタンコールバック
ビューをナビゲーションコントローラーにプッシュしました。戻るボタンを押すと、自動的に前のビューに戻ります。スタックからビューをポップする前に、戻るボタンが押されたときにいくつかのことをしたいと思います。戻るボタンのコールバック関数はどれですか?

12
プログラムでUINavigationControllerにUINavigationBarのカスタムサブクラスを設定する
プログラムで(IBなしで)UINavigationBarインスタンス化する場合、カスタムサブクラスをどのように使用できるかを誰かが知っていますUINavigationControllerか? UINavigationControllerIBでドラッグすると、ナビゲーションバーの下が表示され、Identity Inspectoryを使用してクラスタイプを変更したり、独自のサブクラスを設定したりできますUINavigationBarが、プログラムではできません。navigationBarナビゲーションコントローラーのプロパティは読み取り専用です... プログラムでナビゲーションバーをカスタマイズするにはどうすればよいですか?IBは「コード」より「強力」ですか?IBで実行できることはすべてプログラムでも実行できると思いました。


12
Xcode 5.1およびiOS 7.1へのアップグレード後のセグエ移行中のナビゲーションバーの暗い影
マスター(詳細ナビゲーションコントローラー)の親コントローラーと子コントローラーの間で前後に移動すると、上部のナビゲーションバーの右側に暗い影が表示されます。Xcode 5.1にアップグレードした後に始まりました。ざらざらして気が散ります。どうすればそれを取り除くことができますか?


21
埋め込みナビゲーションコントローラーを使用したポップオーバーでバックナビゲーションのサイズが考慮されない
ビューコントローラーの小さな階層を含むUINavigationControllerをホストしているUIPopoverControllerがあります。 私はドキュメントに従い、ビューコントローラーごとに、ビューのポップオーバーコンテキストのサイズを次のように設定しました: [self setContentSizeForViewInPopover:CGSizeMake(320, 500)]; (サイズはコントローラーごとに異なります) これは、私が階層内を進んでいくときに期待どおりに機能します。ポップオーバーは、プッシュされたコントローラーに対応するようにサイズ変更を自動的にアニメーション化します。 ただし、ナビゲーションバーの[戻る]ボタンを使用してビュースタックを「戻る」にナビゲートすると、ポップオーバーのサイズは変更されず、最も深いビューに到達したときと同じ大きさのままになります。これは私には壊れているようです。私はポップオーバーがビュースタックをポップするときに設定されるサイズを尊重することを期待します。 何か不足していますか? ありがとう。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.