iOS

UITableViewでTableViewCell(Xib)を使ってみた

投稿日:

はじめに

どうも、はじめです。

今回はXib(TableViewCell)を使用したカスタムセルの使い方を書いてみようと思います。

 

前提条件

Swift 3.1

 

事前準備

SingleViewApplicationで新規プロジェクトの作成

 

TableViewを準備

まずはStoryBoard上に「Table View」を追加し、[Prototype Cells]を0に指定します。

 

次にUITableViewDelegateとUITableViewDataSourceを設定します。

[設定方法]

storyboardに追加したTableViewを右クリック
・Outlets → datasource
・Outlets → delegate
の右端にある○マークから自身のViewControllerにドラッグアンドドロップ

 

最後にViewController.swiftでdelegateとdatasourceを定義し、

TableViewをViewController.swiftにOutlet接続します。

 

Xibを準備

Xib関連のファイルがわかりやすくなるように新規Groupを作成します。

→ Group名[UITableViewCell]とする

作成したGroup内に新規ファイル + Xibファイルの作成をします。

  1. [command + N] → [Cocoa Touch Class]を選択
  2. Next → Class:[TableViewCell],SubClass of:[UITableViewCell]
    Also create XIB fileにチェックを入れてNext
  3. 保存したいディレクトリを選択してCreate

次にTableViewCell.xibにLabelを追加します。

このLabelにはTableViewのIndexPathを表示することとします。

Labelにデータをセットする準備として以下作業を行います。

・TableViewCell.swiftに先ほど追加したLabelをOutlet接続

・Labelにデータをセットするメソッドを作成

 

完成後のstoryboardとソースは以下のようになります。

 

 

tableviewに表示するcellにxibを指定する

XibをCellとして使用するには以下の二つを記述する必要があります。

・ViewDidLoadにて使用するXibを定義

・表示するCellに定義したXibを指定

以上で完成となりますので、追記後のソースと実行後の画面を載せておきます。

 

さいごに

最近すごく思うのは見た目に関するものは出来る限りstoryboard上で行いたい

(コードではあまり書きたくない)ということです。

今回書かせて頂いた内容ではmain.storyboard上に指定したXibの内容は表示されません。

Xibの内容をmain.storyboard上に表示させる方法等ご存知の方がいらっしゃれば

是非コメントいただければと思います。

 

最後まで見て頂きありがとうございました。

blog-page_footer_336




blog-page_footer_336




-iOS
-

執筆者:


  1. Mig.TnTiより:

    勉強のためカスタムViewを調べていてたどり着きました。

    最初の[Prototype Cells]を0にする理由がわかりませんでしたが、それ以外は、「なぜ?」「なにを」「どうする」がわかりやすくて、とても勉強になりました。

    まだ、試していませんが、StoryBoardでCellのクラスに作成したカスタムCellのクラスを書くだけで表示できないでしょうか?

    適当な発言で申し訳ありません。

    • nukkyより:

      コメントありがとうございます!

      StoryBoardでCellのクラスに作成したカスタムCellのクラスを書くことで表示することは可能です、
      ですが、Xibを用意することにより汎用的に複数のクラスで扱うこともできますしコード上で追加したTableViewでも扱うことができるので今回はそのような形にしました。
      せっかくコメントもいただいたので、Xibを用意せずにStoryBoardでカスタムCellを扱う方法は今度記事にしたいと思います!

comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

Apple製のフレームワークCombineを触ってみた

1 はじめに2 Combineとは3 Publishers3.1 Future4 Subscribers4.1 sink4.2 assign5 Operators5.1 Prepend5.2 Appe ...

【Swift】XCUITestでScrollViewのテストをしてみる

1 はじめに2 XCUITestとは3 導入方法3.1 オブジェクトの配置3.2 UISCrollView3.3 ラベルとボタン4 テストのための設定4.1 ラベル5 テストコード5.1 SetUp5 ...

【Swift】SwiftUIの理解のためDSL記法とFunctionBuilderを調べてみた

1 はじめに2 DSL(ドメイン固有言語)について3 関数ビルダ3.1 定義方法3.2 使用方法3.3 SwiftUIの関数ビルダ4 カスタム属性5 さいごに6 おすすめ書籍 はじめに Xcode11 ...

[Swift]MapViewでクラスタ機能を利用する。

1 はじめに2 クラスタリングとは3 PINのクラスタリング機能を利用する3.1 マップの作成3.2 PINの作成3.3 Pinのカスタマイズ3.4 カスタムしたPinの利用3.5 CustomPin ...

swift

iOSでライブラリFSCalendarをつかって簡単にカレンダー表示

1 はじめに2 準備3 実装3.1 Storyboard3.2 コード3.3 タップの取得4 さいごに はじめに こんにちは、nukkkyです。 ツール系アプリ開発時にカレンダー表示を よく使うと思い ...

フォロー

follow us in feedly

blog-page_side_responsive

2017年7月
 1
2345678
9101112131415
16171819202122
23242526272829
3031 

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。
Get it on App Store
Get it on Google Play