web-dev-qa-db-ja.com

StoryboardsのUITableViewControllerの下部にツールバーを追加する方法は?

Storyboardsを使用してセットアップしたUITableViewで、ビューの下部に固定するツールバーを追加する必要があります。スクロールしないでください。

この質問とは異なり: [〜#〜] link [〜#〜] TableViewサブビューを通常のビューに追加し、動的セルを使用しているため、プログラムでツールバーを追加することはできないと思いますストーリーボードを介して統合する方がはるかに簡単に思えます。

今のところ、これは私が立ち往生しているものです.... enter image description here

35
vzm

あるNavigation Controllerに配置された1つのView Controllerにツールバーを表示する場合。

  1. ストーリーボードでView Controllerを選択します
  2. ユーティリティでは、「属性インスペクター」を表示します。 「ボトムバー」スタイルを選択します。
  3. バーボタンアイテムを追加
  4. view Controllerにコードを追加して、ツールバーを表示および非表示にします。

コード:

- (void)viewWillAppear:(BOOL)animated
{
    [self.navigationController setToolbarHidden:NO animated:YES];
}

- (void)viewWillDisappear:(BOOL)animated
{
    [self.navigationController setToolbarHidden:YES animated:YES];
}
76
Zoxaer

非常に簡単。 Navigation Controllerをクリックするだけです。次に、Show Attributes InspectorでNavigation Controllerをクリックし、Showsツールバーをクリックします。スクリーンショットを確認してください。

Show Toolbar Screen Shot

26
Kegham K.

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)
}
16
Keith Holliday

このレメディは(2016)iOS 9.2で機能します。私たちは皆、Appleがこのような単純なものに時間を浪費するようにする方法を嫌います。

  1. View Controller>属性インスペクターを選択し、「不透明ツールバー」を選択します
  2. 次に、「バーボタンアイテム」をストーリーボードにドラッグアンドドロップします。
  3. 新しくドロップしたバーボタンアイテム>属性インスペクター>システムアイコンを選択し、お気に入りのアイコンを選択します。
  4. View ControllerのviewDidLoad()メソッドで、他の何かの前にこのコードを追加します:

    override func viewDidLoad(animated: Bool) {
        self.navigationController?.setToolbarHidden(false, animated: true)
    

    //残りのコード}

  5. そのツールバーを他の場所にぶら下げたくないので、ビュー内にこれを追加して、現在のウィンドウが閉じられたら非表示にします:

-

 override func viewWillDisappear(animated: Bool) {
                super.viewWillDisappear(animated);
                self.navigationController?.setToolbarHidden(true, animated: animated)

        }

出来上がり!

9
Josh
  1. UIViewControllerをストーリーボードにドラッグします
  2. ストーリーボードのコンテンツの上にUIToolbarをドラッグします。
  3. ストーリーボードのコンテンツの上にUITableViewをドラッグします。
  4. テーブルビューのデリゲートとデータソースをソースコードにリンクします。

リンククラスのステップ4でUITableViewControllerを使用することはできませんが、通常のUIViewControllerにリンクできます。

ただし、ヘッダーには次のようなものが必要です

@interface MyViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>

ストーリーボードでは次のようになります。

enter image description here

5
David Wong

テーブルへのコンテナビューで中間View Controllerを使用しました。中間ビューにツールバービューを追加し、希望どおりに表示します(UIBarButtonItemの代わりにUIButtonsを使用します)。

これを行う場合は、コンテナビューをナビゲーションバーの下部ではなく画面の上部まで引き伸ばすか、スクロールインセットを正しく取得しようとして髪を引き出します。

同様の質問の詳細 https://stackoverflow.com/a/31878998/1042111

1
Brian Broom