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上に表示させる方法等ご存知の方がいらっしゃれば

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

 

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

page_footer_300rect




page_footer_300rect




-iOS
-

執筆者:


  1. Mig.TnTi より:

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

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

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

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

    • nukky より:

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

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

comment

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

CAPTCHA


関連記事

swift

Swift ChartsライブラリとCryptowatchAPIでローソク足を描画してみる。

1 はじめに2 CryptoWatchについて2.1 OHLC3 リクエスト方法3.1 CryptoWatchのAPI3.2 Swiftでの実装方法4 さいごに5 おすすめ書籍 はじめに こんにちは鈴 ...

swift

Swift3 + Alamofire4 + Unbox2.4を使ってJSONをパースする

1 はじめに1.1 前提条件1.2 完成形2 モデルの作成3 APIクラスの作成4 ViewControllerの作成4.1 Delegateの指定4.2 TableViewの設定4.3 Search ...

[Swift4]StringのSwft4変更点と文字列操作

1 はじめに2 Swift4でのString変更点2.1 コレクション化2.2 文字列長の取得2.3 文字列を複数行で定義3 文字列操作3.1 英大文字、小文字変換3.2 ひらがな、カタカナ変換3.3 ...

swift

[Swift]タブの切り替え時にアニメーションが簡単に実装できる「TransitionableTab」

1 はじめに2 準備3 実装4 さいごに はじめに こんにちは、nukkyです。 今回は、UITabBarControllerの切り替え時にアニメーションを実装できるライブラリ「Transitiona ...

swift

[Swift3] ScrollViewを使ってみた!

1 はじめに2 縦スクロール3 横スクロール4 横スライドでページング5 さいごに6 おすすめ書籍 はじめに どーもはじめです。 ずっと苦手意識というかあまり使いたくないイメージを持っていたのですが、 ...

フォロー

follow us in feedly

page_side_300rect

2017年7月
« 6月 8月 »
 1
2345678
9101112131415
16171819202122
23242526272829
3031 

アプリ情報

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