iOS

Swift3 [XIBファイル] コードでの呼び出し方まとめ

投稿日:

はじめに

どうもはじめです。
今回はTableViewCell,CollectionViewCell,UIViewのXibファイルを
コードで呼び出す方法をまとめてみます。

 

ではさっそくー

前提条件

Xcode 8.3.3
Swift 3.1

 

TableViewCell

まずはTableViewCellからやってみます。
ちなみにこれは前回も書きました。

XIBの準備

Command + N

Cocoa Touch Class

[Subclass of:]にUITableViewCellを選択

[Also create XIB file]にチェックを入れる

Nextを押して、ディレクトリを指定してCreate

上記手順でTableViewCellを呼び出す際に必要なイニシャライザや、
クラスとXIBファイルの紐付けが自動で行われます。

今回はCellの中心にLabelを追加するだけにしておきます。

ViewControllerでの呼び出し

まずはViewControllerにTableViewを設置して、
ViewControllerにOutLet接続します。

TableViewのDelegateとDataSourceをViewControllerに紐付けすることをお忘れ無く。

viewDidLoadにてXIBファイルを定義しておきます。

TableViewで表示するCellを返す際に先ほど定義したXIBを使用します。

 

これで完成!!

注意点としては以下になります。
・XIBの[File’s Owner]には何も記載しないこと
・XIBファイルにあるTableViewCellに対してCustom Classを指定すること
・IdentityやTableViewCell.Identifierには何も書く必要がないこと

コードの全文はこちらです。

 

CollectionView

次はCollectionViewをやってみます。
ほぼほぼTableViewと同じです。

XIBの準備

TableViewCellのXIBを作った時と違う点は一箇所だけです。
・[Subclass of:]にはUICollectionViewCellを選択

以上でCollectionViewCellのXIBを呼び出す際に必要なイニシャライザは用意できました。

 

CollectionViewCellには枠線がないので、
わかりやすいように背景色とLabelを設定しておきます。

ViewControllerの準備

こちらもTableViewの時とほぼ同じです。

CollectionView設置後以下を行います。
・Delegate、DataSourceの紐付け
・CollectionViewをOutLet接続

・viewDidLoadにてXIBファイルの定義

・XIBの呼び出し

以上で完成です!
注意点はTableViewCellの時と同じです。

コードの全文は以下になります。

 

UIView

次はUIViewです。
こやつは少し違ってきます。

カスタムクラスの作成

Command + N

Swift File

Create

作成したファイルに以下を記述

 

XIBの準備

Command + N

View

Create

一番親となるUIViewのSizeをFreeformに設定し、
width,heightを200にします。
その上にViewとLabelを配置し、わかりやすいようにViewの背景色を設定します。

 

XIBとカスタムクラスの紐付け

・XIBの[File’s Owner]のCostomClassに作成したカスタムクラスのクラス名を指定
※そのほかにクラス名を指定する必要はありません。

一番親となるUIViewをOutLet接続します。

最後にカスタムクラスに以下を追記します。

 

ViewControllerで呼び出し

以下のコードを記述するだけで呼び出しが可能です。

なぜviewWillAppearに記載したかというと、viewDidLoadで呼び出しをしてしまうと
レイアウトが生成される前のフレームサイズで初期化を行ってしまうため、レイアウトが崩れてしまうからです。

以上で完成です。
コードの全文はこちらになります。

 

さいごに

まだまだXIBには苦戦することがおおいです。
使いこなせるようになるとかなり便利なものなので、理解していこうと思います。

blog-page_footer_336




blog-page_footer_336




-iOS
-

執筆者:

免責事項

このブログは、記事上部に記載のある投稿日時点の一般的な情報を提供するものであり、投資等の勧誘・法的・税務上の助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

iOSでFirebase Authenticationを実装してみる その1

1 はじめに2 Firebaseプロジェクトの設定3 新規ユーザー登録4 既存ユーザーのログイン5 匿名ログイン6 エラーメッセージ7 最後に8 おすすめ書籍 はじめに はじめまして、Yossyです。 ...

【Swift】WKWebViewのWKUserContentControllerで循環参照

1 はじめに2 循環参照が起きた原因2.1 実装2.2 実装の問題の箇所2.3 修正方法3 さいごに4 おすすめ書籍 はじめに こんにちはsuzukiです。今回はwebviewのWKUserConte ...

【Swift】QuickActionで普段と異なる初期画面を表示する。

1 はじめに2 Quick Actionとは3 実装方法3.1 Quick Actionの追加3.2 タップされた際の動作3.2.1 アプリが起動していない場合3.2.2 アプリが起動している場合4 ...

swift

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

1 はじめに1.1 前提条件1.2 事前準備2 TableViewを準備3 Xibを準備4 tableviewに表示するcellにxibを指定する5 さいごに はじめに どうも、はじめです。 今回はX ...

[Swift]Alamofireを使ってファイルをDLしてみる

1 はじめに1.1 前提条件2 今回やること3 準備4 実装4.1 DLしたファイルへのアクセス5 さいごに はじめに こんにちは、nukkyです。 みなさんSwiftでの通信ライブラリは何を使ってま ...

フォロー

blog-page_side_responsive

2017年8月
 12345
6789101112
13141516171819
20212223242526
2728293031  

アプリ情報

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