tableviewのcellを.xibを読み込む場合、そのcellの高さを可変にすることはできるのでしょうか?
.xibは上下左右 pxで指定するしかないですよね?
それを別のviewcontroller内のtableviewで読み込んだ場合に
どうすれば読み込んだ.xibも可変にできるのでしょうか?
.xibデータの記事自体少なくて
調べてもうまくいきません。
ヒントをください
よろしくお願いします
Autolayoutは使ってないんでしょうか?
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指定しかできないので ぴったりおさめて 高さを可変にしたいんです
xibの話です。
xib には設定してないです。それで解決できるであれば、xibの大枠というか、xib自身にAutolayoutをかけるにはどうするのでしょうか?(考え方が間違えていたらすみません)
デフォルトでonですが。File inspectorで確認して下さい。
その確認手段を知らなくて、間違ってたらすみません。Layout Margins ですよね?defaultになってます
すみません、file inspectorでしたね。type defaultでした。
あとxib自身の大きさはsize inspectorで幅と高さをpx指定してます。
多分、そんなところでひっからない、という箇所なんでしょうね。なのでもう一回、0からやってみます。
もっと下の方の Interface Builder Document の項目の中の Use Auto Layout です。
気にかけてくださりありがとうございます。Use Auto Layout チェック入っております
ちょっと勘違いしていたかも知れないのですが、セル内のUI(部品)のサイズではなく、xib自体のサイズの話でしょうか?
はい、xib自体のサイズの話です。xibをtableviewに呼んで、tablecellとしてぴったりはめ込みつつ、xib内のUI部品の量によって高さを可変させたいという感じです
「xib自身の大きさはsize inspectorで幅と高さをpx指定してます」と書かれていますが、高さはすでに分かっている(確定している)ということですかね?
指定した、というのは誤解を招く書き方で、したすみません。自動的にsize inspectorのViewのwidth、heightに数値が入った状態です。xibデータを作って、中身にlabelとtextviewを配置して、textviewのテキスト量にあわせ、xib自身の高さを可変させたいです。
回答1件
あなたの回答
tips
プレビュー