Static Cellsお試し

こんばんは、二日連続になりました。毎日続けるつもりではありません。

 

お仕事の中で、既に作られているTableViewCellを1つだけ別の画面でも出したいことがありました。

そういえばStatic Cellsというのがあったな、再利用するわけでもないし使えるんじゃないの!と思って試したのですが、思うようにいかず。

おとなしくStatic Cellsのサンプル作りをすることにしたわけです。

 

 

Static Cellsとは

静的なCell。単純なCellをStoryboardでサクサク作れる。

f:id:NNkamura_Enginieer:20191023225800p:plain

StaticViewCell作業全体画面

f:id:NNkamura_Enginieer:20191023225843p:plain

"Content"を"Static Cells"に変える

f:id:NNkamura_Enginieer:20191023230019p:plain

楽チンレイアウト

 

色々触ってみまして

f:id:NNkamura_Enginieer:20191023230445p:plain

tableCellの中に置いたTextFieldをIBOutlet接続できたり

TableViewDataSourceDelegateのメソッド(numberOfSectionsとか)を書くと反映されちゃうので消さないとダメだったり

CustomTableCellを反映してみたり(storyboardのClassに書けば簡単にできました)

 

普段やれないことができたりして、色々新鮮でした。

総括として、再利用しない&固定文言&固定レイアウトの場合はStaticViewCellで良いでしょう。文字の反映や動的レイアウトもできそうな感じがしますが、その辺りは後日。

 

以下のサイトを参考にさせて頂きました。

 

https://qiita.com/okyawa/items/79c5eb1e5c568fb825d4

→"入力欄をタップしてキーボードが表示された際、入力欄が隠れないよう、自動的にスクロールしてくれる"だそうです、それは良いなあ

https://qiita.com/KikurageChan/items/08844e4eee774da992db

プロパティやカスタムクラスの使い方などの参考になりました。

https://dev.classmethod.jp/smartphone/iphone/uitableviewcontroller-in-containerview-on-uiviewcontroller/

→"UIViewControllerにContainerViewを配置し、そのContainerViewの中身をUITableViewControllerにすればStatic Cellsを扱うことができるようになります。"

この知識は覚えておくとかなり使う幅が広がりそう。今日の案件にも使えそうです。

 

 

 

あとがき

記事に書くと「当たり前やん!」という感じなんですが、実際にやってみると意外と詰まるものですね。

スクリーンショットに書いている以上のことはしていないのですが、一応ソースコードを下記に載せておきます。こんなものアップしたら逆に評価下がるのでは?という考えが頭をよぎりましたが、自分本位で進めたいと思います。

そしてこのトライアンドエラーを評価していただけると信じて。

https://github.com/NNkamura/Practice_StaticViewCell

 

 

追記:StaticViewCellとかStaticTableViewCellとかStaticCellとか書いたんですが、正しくはStatic Cellsのようなので修正しました。