Storyboadで、UITableViewの最上段にUIViewを使ってヘッダを作成しました。ヘッダには、UILabelでテキストを表示しています。
ヘッダの下には、TableViewCellを配置しています。
ヘッダのUILabelのフォントサイズの変更に合わせて、ヘッダの高さを自動調節したいと考えていますが、AutoLayoutを設定できず、高さを自動調節できない状態です。
UITableViewでヘッダ内のテキストに合わせて、ヘッダの高さを自動調節する方法があればご教示いただきたく思います。
よろしくお願いいたします。
ラベルにテキストをセットしたあとにsizeToFitしてやるとか、幅とフォントがわかっているなら高さを計算してframeにセットしてやるとか、やりようはあると思いますが、試したこととどううまく動かないかをご提示されたほうがよいと思います。
ご指摘ありがとうございました。質問の不備、失礼いたしました。
1)フォントサイズについて
今回、アクセシビリティに配慮し、フォントにDynamic Typeを使用しています。
そのため、iOSの環境によりフォントサイズが変わるため、使用環境のフォントサイズに合わせてUITableViewのヘッダの高さが自動調節されるようにしたいと考えています。
2)試したこと
StoryboardでAutoLayoutを設定しました。
UILabel単独の場合、AutoLayoutがうまく機能し、Dynamic Typeのフォントサイズに合わせてUILabelのサイズが自動調整されます。
しかし、今回のようにUITableViewのヘッダとしてUIViewを配置し、その中にUILabelを置くとヘッダの高さが自動調整されません。
原因は、ヘッダとして配置しているUIViewの高さが不変なためだと思います。
UIViewにもAutoLayoutを設定できればいいのですが、Add new constraintsを確認しても選択不可のため設定することができない状態です。
以上、
よろしくお願いいたします。
どのような方法でヘッダとして設置しているかを掲示していただけないでしょうか?
参考にされたページのurlでも結構です
ご質問いただき、ありがとうございます。また、質問内容の記述が不十分で失礼しました。
ヘッダは、StoryBoard上でTableViewと一番目のCellの間にUIViewをドラッグ&ドロップすることでセットしています。
今回はセットしたヘッダ内(UIView内)にUILabelを設置しています。
以下のサイトのコメント欄を参考にさせていただきました。
https://qiita.com/nakamurau1@github/items/301b69522c32254617ad
よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
