スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
このエントリーをはてなブックマークに追加

[iOS]UILabelのテキストサイズを取得する

//UILabelのテキストサイズを取得
CGSize textSize = [[label text] sizeWithFont:[label font]];


UIButtonのようなUILabelを含む(button.titleLabel)UIパーツもこのようにサイズを取得することができます。
これによって、テキストサイズに合わせたUILabelやUIButtonを自在に作ることが可能です。


参考URL:[stackoverflow] Pixel Width of the text in a UILabel


>>追記:2014/10/02
iOS7から書き方が変わったため追記しておきます。
//今後はNSFontAttributeNameにfontを指定します
CGSize textSize = [label.text sizeWithAttributes:@{NSFontAttributeName: label.font}];


参考URL:【Objective-C/iOS7】sizeWithFontをsizeWithAttributesに書き換える


>>追記:2014/10/03
・CharacterWrapやWordWrapで自動改行されたときの高さまでは取れないようなので、もう一つの似たメソッドboundingRectWithSize:options:attributes:contextを使います。
//第一引数には最大サイズを指定する
//今回は高さを限界数値まで設定している
NSDictionary *attributes = @{ NSForegroundColorAttributeName : label.textColor,
NSFontAttributeName : label.font };
NSAttributedString *string = [[NSAttributedString alloc] initWithString: label.text attributes:attributes];
CGRect textRect = [string boundingRectWithSize:CGSizeMake(CGRectGetWidth(label.frame), CGFLOAT_MAX)
options:NSStringDrawingUsesLineFragmentOrigin
context:nil];


参考URL:表示されるテキストによって高さを調整する
このエントリーをはてなブックマークに追加

コメントの投稿

非公開コメント

Translation


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。
プロフィール

チーズくん

Author:チーズくん
個人的メモをただ羅列しています。
twitter:@cheese1038

バロメーター
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。