StoryBoardsのテーブルヘッダービュー


回答:


349

コントロールをテーブルビューの上部にドラッグするだけのようです。そんなに簡単だとは思っていませんでした。

落下前

落下前

ドロップ後

ドロップ後


29
これがそのやり方だと知って驚いた。私の実装では、これが正しく機能するために、heightForHeaderInSection:(NSInteger)sectionコードを削除する必要があることに気付きました。そうしないと、ヘッダービュー自体の上に余分なスペースができてしまいます。また、このヘッダーをテーブルビューの上部に「固定」するには、viewForHeaderInSection:(NSInteger)sectionを実装してこのビューを返す必要がありました。
ozz

13
これは、テーブルに少なくとも1つのプロトタイプセルがある場合にのみ機能するようです。
Accatyyc

4
@cdo、テーブルビューの上部でヘッダーを「固定」する方法を詳しく説明できますか?盲目的に実装しようとするviewForHeaderInSection:と、「制約を同時に満たすことができません」というエラーが表示されました。(ここで私の質問を参照してください:stackoverflow.com/questions/14554051/…
ライアンヒー2013年

2
おかげで、それが機能することがわかって、正確なドラッグが必要になるまで、それを行うことができませんでした。私は...それを複数回行うことを試みたのだ
デーブ・ロス

1
左側のアウトラインを使用してドラッグできます。これは、テーブルヘッダービューを設定する場合に、最初のプロトタイプセルの上の正確な場所をヒットするよりも簡単です。私は、おそらくXcodeのバグ(5.0)に気づきました。これは、最初にビューを通常の階層の外に移動した場合にのみ機能することに気付きました。そのシーンのアウトラインの一番下までドラッグしました。次に、2番目のステップで、それをテーブルビューに移動できます。
Daniel Schneller、2013

10

これは、UIView/をドキュメントアウトラインの(レイアウトではなく)のUIImageViewすぐ下にドラッグすることで簡単に行えますUITableView

ドキュメントのアウトラインの代わりにレイアウトをドラッグしようとすると、UITableViewCellイライラする上部の処理にジャンプします。


-2

テーブルビューの上にビューをドラッグアンドドロップすると、少なくともXcode 11では1つの画面サイズでしか機能しませんでした。別の画面ではうまくサイズ調整できませんでした。

ビューを作成し、ストーリーボードのテーブルビューの後ろに残しました。そのためのIBOutletを作成しました。

@IBOutlet weak var audioView: UIView!

次に、tableviewコードで次のようにしました。

func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
    return audioView
}

func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
    return 142
}

すべての画面サイズでうまく機能しました。


1
問題は、セクションヘッダービューではなく、テーブルヘッダービューに関するものです。
R.リンコン

@R。リンコン、セクションヘッダーについてどこで言及しましたか?メソッドのセクションはフレームワークから必要です。わからない場合は、すべてのTableViewに少なくとも1つのセクションがあります。セクションがない場合は、セクション0を渡してください。
バドル

このコードは、すべてのセクションのaudioViewをセクションヘッダーとして返します。誰かがこれを実装すると、tableView.tableHeaderViewはnilになります。5つのセクションがある場合は、5つのセクションヘッダーがあります。すでにセクションヘッダーがあり、テーブルヘッダービューを追加する場合、この回答は役に立ちません。これは、特に言及されている質問には答えませんtableHeaderView
R.リンコン

メソッド内にロジックを使用して、各セクションのヘッダービューを指定できます。セクションを考慮して作成されたTableView。常にセクションがある場合、セクションがない場合はセクション0になります。セクションを指定せずにヘッダービューを指定する方法はありません。
バドル

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