Storyboardsを使用してセットアップしたUITableView
で、ビューの下部に固定するツールバーを追加する必要があります。スクロールしないでください。
この質問とは異なり: [〜#〜] link [〜#〜] TableViewサブビューを通常のビューに追加し、動的セルを使用しているため、プログラムでツールバーを追加することはできないと思いますストーリーボードを介して統合する方がはるかに簡単に思えます。
今のところ、これは私が立ち往生しているものです....
あるNavigation Controllerに配置された1つのView Controllerにツールバーを表示する場合。
コード:
- (void)viewWillAppear:(BOOL)animated
{
[self.navigationController setToolbarHidden:NO animated:YES];
}
- (void)viewWillDisappear:(BOOL)animated
{
[self.navigationController setToolbarHidden:YES animated:YES];
}
Swiftユーザーの場合、次のコードを使用できます。
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated);
self.navigationController?.setToolbarHidden(false, animated: animated)
}
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated);
self.navigationController?.setToolbarHidden(true, animated: animated)
}
このレメディは(2016)iOS 9.2で機能します。私たちは皆、Appleがこのような単純なものに時間を浪費するようにする方法を嫌います。
View ControllerのviewDidLoad()メソッドで、他の何かの前にこのコードを追加します:
override func viewDidLoad(animated: Bool) {
self.navigationController?.setToolbarHidden(false, animated: true)
//残りのコード}
そのツールバーを他の場所にぶら下げたくないので、ビュー内にこれを追加して、現在のウィンドウが閉じられたら非表示にします:
-
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated);
self.navigationController?.setToolbarHidden(true, animated: animated)
}
出来上がり!
リンククラスのステップ4でUITableViewControllerを使用することはできませんが、通常のUIViewControllerにリンクできます。
ただし、ヘッダーには次のようなものが必要です
@interface MyViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>
ストーリーボードでは次のようになります。
テーブルへのコンテナビューで中間View Controllerを使用しました。中間ビューにツールバービューを追加し、希望どおりに表示します(UIBarButtonItemの代わりにUIButtonsを使用します)。
これを行う場合は、コンテナビューをナビゲーションバーの下部ではなく画面の上部まで引き伸ばすか、スクロールインセットを正しく取得しようとして髪を引き出します。