【UITextView】でテキスト量などで高さを可変にする。

アプリの画面内の説明文で機種による画面のサイズの違いによる高さの違いを吸収したい。
普通はUILabelでするんだろうけど思惑があってUITextViewでやってみたかった。

【UITextView】でテキスト量などで高さを可変にする。

【UITextView】でテキスト量などで高さを可変にする。

次いで、autolayoutでUITextViewに連なるオブジェクトの位置が合わせて変わらなければ意味が無い。
いろいろと調べて試した結果意外と簡単だった。

参考サイトはコチラ。
UITableView上に可変するUITextViewを作る – Qiita
[iOS] AutoLayoutでUILabelの高さを動的に変える : 雑食プログラミング備忘録

まず、UITextViewを配置し、上と左右のautolayoutを設定する。
「高さが決まってないよ!」と注意が出るので、高さをテキストが入る余裕を持って設定する。

UITextViewの下端からマージンを取って下にUIButtonを設置しautolayoutで制約をつける。

そして、UITextViewのプロパティ、Scroll ViewのScrollingのScrolling Enabledのチェックを外す。

【UITextView】でテキスト量などで高さを可変にする。

その後、UITextViewの高さHeight ConstraintのRelationをLess Than or Equalに変更する。

【UITextView】でテキスト量などで高さを可変にする。

あと、編集も選択も出来ないようにしたいのでBehaviorのEditableとSelectableのチェックを外しておく。

こんなんで良いのかな。
うじゃうじゃ。

コメントを残す

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

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">