【Swift UIKit】UITableViewControllerのStaticCellの使い方と注意点

この記事からわかること

  • SwiftUIKitUITableViewControllerStaticCell使い方注意点
  • Dynamics Prototypesとの違い
  • iPhone設定画面のようなUI作り方
  • Static table views are only valid when embedded in UITableViewController instancesエラー解決法

index

[open]

\ アプリをリリースしました /

みんなの誕生日

友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-

posted withアプリーチ

SwiftのUIKitで使えるUITableViewControllerとStaticCellの使い方と注意点をまとめていきます。

UITableViewControllerとは?

公式リファレンス:UITableViewController

@MainActor  open class UITableViewController : UIViewController, UITableViewDelegate, UITableViewDataSource

UITableViewControllerはViewControllerの1つでテーブルビューを管理するためのコントローラークラスです。通常のViewControllerでは直下のView内で様々なUI部品を設置して使用しますがUITableViewControllerは直下にTableViewのみが設置され画面一杯にテーブルビューが広がります。

【Swift UIKit】TableViewControllerのStaticCell の使い方と注意点

普通のViewControllerの中にもUI部品としてテーブルビューを使用することも可能なので、テーブルビューしか使用しない場合に使用されることが多いですが拡張性が低くなってしまうので使い所には注意が必要です。UITableViewの使い方に関しては以下の記事を参考にしてください。

StaticCellとDynamics Prototypes

UITableViewControllerで設置できるテーブルのセルには「StaticCell(静的セル)」と「Dynamics Prototypes(動的セル)」の2種類があります。ストーリーボードからではUITableViewControllerのインスペクタから変更することができます。

【Swift UIKit】TableViewControllerのStaticCell の使い方と注意点

StaticCell

StaticCellは表示させたいセルがiPhoneの設定画面のような決まった項目を表示させる時に使用します。コードではなくStoryboardを使って手軽に実装できるのが大きなメリットです。

Dynamics Prototypes

Dynamics Prototypesはデータのリスト表示など動的に変化する項目を表示させる時に使用します。こちらはコードからセルに表示させるデータを指定します。

StaticCellの使い方と注意点

StaticCellを使用する手順

【Swift UIKit】TableViewControllerのStaticCell の使い方と注意点

上記のようにコードを記述することなくテーブルビューを構築することができます。

Static table views are only valid when embedded in UITableViewController instances

StaticCellを使用するにはTableViewControllerであることが条件になります。しかしTableViewControllerは自動的に画面一杯にビューが広がるため他のUIを加えることが難しくなります。

以下のように普通のUIViewControllerにTableViewを追加してStaticCellを使用すると「Static table views are only valid when embedded in UITableViewController instances」といったエラーになってしまいます。

【Swift UIKit】TableViewControllerのStaticCell の使い方と注意点

まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。

ご覧いただきありがとうございました。

searchbox

スポンサー

ProFile

ame

趣味:読書,プログラミング学習,サイト制作,ブログ

IT嫌いを克服するためにITパスを取得しようと勉強してからサイト制作が趣味に変わりました笑
今はCMSを使わずこのサイトを完全自作でサイト運営中〜

New Article

index