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


関連記事

Xcode11のデバッグ機能

1 はじめに2 Device Conditions2.1 Thermal state condition2.2 Network link condition3 Environment Override ...

[Swift]半モーダルを簡単に実装できるFloatingPanelを使ってみよう!

1 はじめに2 半モーダルって?3 準備4 実装4.1 表示位置の変更4.2 スクロール領域の設定4.3 レイアウトの変更5 さいごに6 おすすめ書籍 はじめに 今回はiOSエンジニアなら1回はみたこ ...

UserNotificationsの使い方について

1 はじめに2 UserNotificationsフレームワーク3 基本実装3.1 デリゲートの設定3.2 ユーザー許可3.3 デバイストークン取得後3.4 バックグラウンドで通知受信3.5 フォアグ ...

[SwiftUI]SwiftUIで動的にViewの更新をする方法

1 はじめに2 SwfitUIのViewについて3 値の更新について3.1 Stateの特徴3.2 ObservedObjectの特徴3.3 EnvironmentObjectの特徴4 さいごに5 お ...

iOSでFirestoreを使ってみた その2

1 はじめに2 リスナーのアタッチ2.1 ドキュメントのリッスン2.2 複数ドキュメントのリッスン3 ドキュメントの変更タイプの取得4 リスナーのデタッチ5 さいごに6 おすすめ書籍 はじめに 以前、 ...

フォロー

follow us in feedly

blog-page_side_responsive

2017年7月
 1
2345678
9101112131415
16171819202122
23242526272829
3031 

アプリ情報

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