*

【iPhone 開発 Swift Objective-c】行の高さを動的に変更する

apple-swift

UITableViewの行の高さを中に貼ったラベルの文字数に応じて動的に変更したい場合があります。

知ってしまえば簡単なのですが、苦労してやっと解決しました。

リアル・ネットともにヒントを下さった方に本当に感謝します。

同じような問題に出会った方が私のように苦しまず、あっさり進んでくれたら幸せです。

お役に立てればと思い共有します。

スポンサーリンク

 

iOS7と8 、XCode6です。ソースをSwift, Objective-c丸ごと全部公開します。

1〜1万行までテストし問題なく動作しました。ぴったり表示します!

iOS8以降のみ対応すれば良いということであれば未検証ですが、UITableViewAutomaticDimensionを使用するととても簡単にできるみたいなのでそちらを使ったほうがよいかもれません。

 

<ポイントその1>

 

ラベルの制約は上左右で下は付けません。

スクリーンショット 2015-01-21 19.40.09

 

<ポイント その2>

 

Linesは本来0設定するべきですが、iOS7,8両対応しようとするので警告が出るのでとりあえず1にしておき後からコードで0を設定し直します。

LineBreaks=CharacterWrap、今回はソース内のラベルの特定はタグを使用してますのでTag=1を指定します。

スクリーンショット 2015-01-21 19.31.44

 

あとはソースの記述です。肝となる関数は2つです

1つめの関数:

・・・ラベルをタグに指定した番号で特定し、文字を入れます。

StotyBordでLinesを1にしたので無限行であることを示す0に設定します。

 

 2つめの関数:

・・・1つめの関数と同じ文字列で矩形を作り、その高さを返します。

let bounds = CGSizeMake(self.view.frame.size.width – 16, CGFloat.max)の−16はストーリーボードで指定した制約の左と右の横幅の固定空白です。

 

ソースはこちらからどうぞ!(^^)

 


みんなで励まし合って、禁煙できるアプリ 禁煙駅伝

ad

ad

関連記事

禁煙駅伝 】第4回 オンライン飲み会(交流会)

アプリ【 禁煙駅伝 】の オンライン飲み会 第4回目が開催されました...

記事を読む

【禁煙駅伝】 秘密会議 (in静岡)

禁煙駅伝 秘密会議(静岡オフ会)が開催されました! 「秘密会議...

記事を読む

あけましておめでとうございます✨

あけましておめでとうございます✨ 昨年を振り返りますと、 春に...

記事を読む

【 禁煙駅伝 】第三回 オンライン飲み会(交流会)

アプリ【 禁煙駅伝 】の オンライン飲み会 第三回目が開催されました...

記事を読む

【禁煙駅伝】アプリの楽しみ方

🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀けるたい🍧様に書いていただきました。ありがとう...

記事を読む

新着記事

ダイエット記録アプリの「みんなのダイエット」が、3月18日で終了

ダイエット記録アプリの「みんなのダイエット」が、3月18日で終了だそ...

記事を読む

禁煙駅伝 】第4回 オンライン飲み会(交流会)

アプリ【 禁煙駅伝 】の オンライン飲み会 第4回目が開催されました...

記事を読む

【禁煙駅伝】 秘密会議 (in静岡)

禁煙駅伝 秘密会議(静岡オフ会)が開催されました! 「秘密会議...

記事を読む

あけましておめでとうございます✨

あけましておめでとうございます✨ 昨年を振り返りますと、 春に...

記事を読む

AI(人工知能)最前線!Google Cloud OnBoardに行ってきました

Google Cloud OnBoardに行ってきました! G...

記事を読む

コメント/トラックバック

トラックバック用URL:

この投稿のコメント・トラックバックRSS




管理人にのみ公開されます

*

ad

ダイエット記録アプリの「みんなのダイエット」が、3月18日で終了

ダイエット記録アプリの「みんなのダイエット」が、3月18日で終了だそ...

禁煙駅伝 】第4回 オンライン飲み会(交流会)

アプリ【 禁煙駅伝 】の オンライン飲み会 第4回目が開催されました...

【禁煙駅伝】 秘密会議 (in静岡)

禁煙駅伝 秘密会議(静岡オフ会)が開催されました! 「秘密会議...

あけましておめでとうございます✨

あけましておめでとうございます✨ 昨年を振り返りますと、 春に...

AI(人工知能)最前線!Google Cloud OnBoardに行ってきました

Google Cloud OnBoardに行ってきました! G...

→もっと見る

PAGE TOP ↑