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

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

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

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

Swift

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

Q&A

解決済

1回答

369閲覧

[Swift]tableviewのcellを.xibを読み込む場合、そのcellの高さを可変にすることはできるのでしょうか?

masimasi

総合スコア32

Xcode

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

Swift

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

0グッド

0クリップ

投稿2018/08/15 02:24

tableviewのcellを.xibを読み込む場合、そのcellの高さを可変にすることはできるのでしょうか?

.xibは上下左右 pxで指定するしかないですよね?

それを別のviewcontroller内のtableviewで読み込んだ場合に
どうすれば読み込んだ.xibも可変にできるのでしょうか?

.xibデータの記事自体少なくて
調べてもうまくいきません。

ヒントをください
よろしくお願いします

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

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

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

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

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

fuzzball

2018/08/15 02:34

Autolayoutは使ってないんでしょうか?
masimasi

2018/08/15 02:52 編集

Autolayoutを使ってます。tableviewには上下左右0pxを設定しています。 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = eventListTableView.dequeueReusableCell(withIdentifier: "hoge", for: indexPath)as! hoge return cell } でxibを呼び出すんですけど、xibの大きさはpx指定しかできないので ぴったりおさめて 高さを可変にしたいんです
fuzzball

2018/08/15 02:52

xibの話です。
masimasi

2018/08/15 02:56

xib には設定してないです。それで解決できるであれば、xibの大枠というか、xib自身にAutolayoutをかけるにはどうするのでしょうか?(考え方が間違えていたらすみません)
fuzzball

2018/08/15 03:01

デフォルトでonですが。File inspectorで確認して下さい。
masimasi

2018/08/15 03:05

その確認手段を知らなくて、間違ってたらすみません。Layout Margins ですよね?defaultになってます
masimasi

2018/08/15 03:11 編集

すみません、file inspectorでしたね。type defaultでした。 あとxib自身の大きさはsize inspectorで幅と高さをpx指定してます。
masimasi

2018/08/15 03:21

多分、そんなところでひっからない、という箇所なんでしょうね。なのでもう一回、0からやってみます。
fuzzball

2018/08/15 03:51

もっと下の方の Interface Builder Document の項目の中の Use Auto Layout です。
masimasi

2018/08/15 04:05

気にかけてくださりありがとうございます。Use Auto Layout チェック入っております
fuzzball

2018/08/15 04:08

ちょっと勘違いしていたかも知れないのですが、セル内のUI(部品)のサイズではなく、xib自体のサイズの話でしょうか?
masimasi

2018/08/15 04:22

はい、xib自体のサイズの話です。xibをtableviewに呼んで、tablecellとしてぴったりはめ込みつつ、xib内のUI部品の量によって高さを可変させたいという感じです
fuzzball

2018/08/15 06:08

「xib自身の大きさはsize inspectorで幅と高さをpx指定してます」と書かれていますが、高さはすでに分かっている(確定している)ということですかね?
masimasi

2018/08/15 07:51 編集

指定した、というのは誤解を招く書き方で、したすみません。自動的にsize inspectorのViewのwidth、heightに数値が入った状態です。xibデータを作って、中身にlabelとtextviewを配置して、textviewのテキスト量にあわせ、xib自身の高さを可変させたいです。
guest

回答1

0

ベストアンサー

セル内の部品に対して制約を付けて下さい。(AutoLayoutを使うということ)
そうすれば、高さの可変については勝手にやってくれます。
(ただし、質問内に書かれていないことは全てデフォルトのままと仮定しての話)

textviewのテキスト量にあわせ、xib自身の高さを可変させたいです。

TextViewのスクロールを使わないのであれば、Labelでいいと思います。
編集可なのでしょうか?

投稿2018/08/15 08:26

fuzzball

総合スコア16731

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

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

masimasi

2018/08/15 22:50

textviewにこだわってしまっていました。そおか・・・labelでいいのか、やってみます。ありがとうございました
masimasi

2018/08/15 23:43

私の質問が下手くそでしたね。最後までありがとうございました。できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問