【iPhone 開発 Swift Objective-c】行の高さを動的に変更する
UITableViewの行の高さを中に貼ったラベルの文字数に応じて動的に変更したい場合があります。
知ってしまえば簡単なのですが、苦労してやっと解決しました。
リアル・ネットともにヒントを下さった方に本当に感謝します。
同じような問題に出会った方が私のように苦しまず、あっさり進んでくれたら幸せです。
お役に立てればと思い共有します。
まついゆたか (@YutakaMatsui)
UITableViewの行の高さを中に貼ったラベルの文字数に応じて動的に変更したい場合があります。
知ってしまえば簡単なのですが、苦労してやっと解決しました。
リアル・ネットともにヒントを下さった方に本当に感謝します。
同じような問題に出会った方が私のように苦しまず、あっさり進んでくれたら幸せです。
お役に立てればと思い共有します。
スポンサーリンク
iOS7と8 、XCode6です。ソースをSwift, Objective-c丸ごと全部公開します。
1〜1万行までテストし問題なく動作しました。ぴったり表示します!
iOS8以降のみ対応すれば良いということであれば未検証ですが、UITableViewAutomaticDimensionを使用するととても簡単にできるみたいなのでそちらを使ったほうがよいかもれません。
ラベルの制約は上左右で下は付けません。
Linesは本来0設定するべきですが、iOS7,8両対応しようとするので警告が出るのでとりあえず1にしておき後からコードで0を設定し直します。
LineBreaks=CharacterWrap、今回はソース内のラベルの特定はタグを使用してますのでTag=1を指定します。
あとはソースの記述です。肝となる関数は2つです
[crayon-6425f9e72c6ef194652878/]
・・・ラベルをタグに指定した番号で特定し、文字を入れます。
StotyBordでLinesを1にしたので無限行であることを示す0に設定します。
[crayon-6425f9e72c6ff163693276/]
・・・1つめの関数と同じ文字列で矩形を作り、その高さを返します。
let bounds = CGSizeMake(self.view.frame.size.width – 16, CGFloat.max)の−16はストーリーボードで指定した制約の左と右の横幅の固定空白です。
スポンサーリンク
2015/01/21 | iPhone, iPhoneアプリ開発, XCode iOS, UITableView, 行の高さ
今回も多くの方にお集まりいただき、とても良い時間を過ごすことができまし...
🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🥽🧤AR(仮想現実)機能を搭...
2019年9月より、和歌山県福祉保健部健康局 健康推進課様より...
いつも禁煙駅伝をお使いいただきまして、ありがとうございます。 ...
アプリ【 禁煙駅伝 】の オンライン飲み会 第4回目が開催されました...
2022.10.02、沖縄のスタートアップのイベント、 Tech B...
禁煙駅伝はこれまで、18万人+1人、2000万回の励まし合いで、多く...
今回も多くの方にお集まりいただき、とても良い時間を過ごすことができまし...
新年明けましておめでとうございます✨ 私事ですが、昨年は大きな...
2022.10.02、沖縄のスタートアップのイベント、 Tech BASE Okinawa for Stude […]
2022.10.02、沖縄のスタートアップのイベント、 Tech B...
本日は沖縄の慰霊の日、終戦記念日です。 20万の人がこの地で亡くなりました。 また戦争は終わりましたが、国の防 […]
本日は沖縄の慰霊の日、終戦記念日です。 20万の人がこの地で亡...
禁煙駅伝はこれまで、18万人+1人、2000万回の励まし合いで、多くの仲間と禁煙に成功してきました。WHO様か […]
禁煙駅伝はこれまで、18万人+1人、2000万回の励まし合いで、多く...
今回も多くの方にお集まりいただき、とても良い時間を過ごすことができました。 4年続いている名古屋の方、10日目 […]
今回も多くの方にお集まりいただき、とても良い時間を過ごすことができまし...
新年明けましておめでとうございます✨ 私事ですが、昨年は大きな変わり目の年となりました。 2月より禁煙駅伝と共 […]
新年明けましておめでとうございます✨ 私事ですが、昨年は大きな...
コメント/トラックバック
トラックバック用URL:
この投稿のコメント・トラックバックRSS