質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

1083閲覧

[Xcode] xibファイルがストーリーボードに反映されない

sssskkkktttt

総合スコア11

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2018/06/16 10:01

xibで作ったカスタムセルをストーリーボード上のテーブルビューに反映させ、Autolayoutの設定を行いたいのですが、
カスタムセルのクラスに@IBDesignableをつけても反映されません。

行なった手順は以下の通りです。
・customCell.swiftとcustomCell.xibを作成
・xibファイル上でTextFieldをセル上に追加
・customCell.xibのカスタムクラスをcustomCell.swiftに設定
・ストーリーボード上でセルのカスタムクラスにcustomCell.swiftを指定
・下記のコードでカスタムセルを登録

Swift

1optionTableView.register(UINib(nibName: "customCell", bundle: nil), forCellReuseIdentifier: "reuseCell")

どなたか解決策をご教授いただければ幸いです。

Swift

1//customCell.swift 2import UIKit 3 4@IBDesignable 5class optionCell: UITableViewCell { 6 7 @IBOutlet var optionName: UITextField! 8 9 override func awakeFromNib() { 10 super.awakeFromNib() 11 // Initialization code 12 } 13 14 override func setSelected(_ selected: Bool, animated: Bool) { 15 super.setSelected(selected, animated: animated) 16 17 // Configure the view for the selected state 18 } 19}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

下の2点を確認して欲しいです。

  • 記載しているセルクラスがoptionCellになっていますが、customCellではないでしょうか?
  • UITableViewDataSorceselfに設定しているでしょうか?

それでもうまく行かなければUITableViewDataSorcecellForRowAtでどの様にセルを作っているのか載せて欲しいです。

投稿2018/06/17 01:56

編集2018/06/17 02:25
_Kentarou

総合スコア8490

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sssskkkktttt

2018/06/17 06:16 編集

ありがとうございます。 セルクラス名は私の記載ミスでした。customCellになっています。 UITableViewDataSorceもselfに設定してあります。 cellForRowAtの関数は以下のようになっています。 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = TableView.dequeueReusableCell(withIdentifier: "reuseCell") as! customCell return cell }
guest

0

ベストアンサー

ストーリーボード上でセルのカスタムクラスにcustomCell.swiftを指定

ファイル名ではなくクラス名optionCellを指定してください。

投稿2018/06/16 11:39

fuzzball

総合スコア16731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sssskkkktttt

2018/06/16 15:21

回答ありがとうございます。 記述ミスでした。optionCellを指定していますが反映されていません。
fuzzball

2018/06/19 02:22

いろいろ試してみたのですが、@IBDesignableなカスタムセルをStoryboard上に表示させることは出来ませんでした。セルのcontentViewに@IBDesignableなカスタムビューを割り当てて表示させることは出来ました。(ちょっと無理やりなのでここには書きません) 何かうまい方法はあるかも知れませんが、これ以上調べる時間は私にはありません。 それはさておき、あなたの質問/コードを見て思うことを書いておきます。 >>Autolayoutの設定を行いたいのですが これはセル内のUI(今回の場合だとUITextField)の制約でしょうか?もしそうでしたら、仮にStoryboard上に表示できたとしても、制約はStoryboard上で付けられないと思います。(制約はxib上で付ける) ・コードについて 現在のoptionCell(customCell?)のコードにはxibを読み込んでviewに反映させるコードがありません。今のままでは絶対にStoryboard上には表示されないと思います。 下のような記事を読んで、まずカスタムビュー(UIView)をStoryboard上に表示させてみることをお勧めします。 https://dev.classmethod.jp/smartphone/xib/ https://qiita.com/usagimaru/items/e1c349c5bc51a1c4a92c
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問