UILabelの上詰め / Objective-C,Swift
こんばんは! Mitsuharuです(*´ڡ`●)
iOSの開発でちょっとつまづいた際の記録メモです。
内容:ラベル内テキストの上詰めがしたい
表示領域は大きくとっておきながら、上端から表示させたい と思ったのですが
プロパティを見ても、左寄せ・中央寄せ・右寄せ しか見当たりませんでした。
Excelの上詰めと同じイメージの実装ができないかと困りました。
Googleで色々調べた結果、下記サイトを参考にさせていただきました。
(参考)
元のフレーム情報をとっておいて、フィットしたあと、高さ以外の情報を戻すという実装になっています。
簡単なプログラムを作って試してみます。
ラベルと、ボタンを押した際にサイズ調整するイベントを作成しました。位置とサイズは適宜、範囲が分かりやすいように背景色をつけました。
↑複数行(制限なし)とするため、Linesは0
(初期表示) (ボタンクリック)
いい感じに上揃えになりました。
注意事項は、テキストの内容をセットしたあとに、サイズ調整する4行の処理が必要になります。テキストを何度も変える場合は、都度必要になります。
参考元を試してみただけになりますが勉強になりましたm(__)m
<おまけ>
Swiftの場合は、下記のコードを書いて実現できました。
var rect = self.LblHello.frame
self.LblHello.sizeToFit()
rect.size.height = self.LblHello.frame.height
self.LblHello.frame = rect
※実装に誤りがある、もっと良い方法がある場合はご連絡いただけると助かります。