2013-08-21 13 views
68

NSAttributedStringは本当に私には通用しません。2種類のフォントサイズのNSAttributedStringの例?

UILabelに異なるサイズのテキストを設定したいと思っています。私はNSAttributedStringを手に入れていますが、これに関するドキュメントはどこにもありません。

誰かが具体的な例で私を助けることができたら、私はそれが大好きです。例えば

、のは、私が欲しかったテキストがいたとしましょう:

(in small letters:) "Presenting The Great..." 
(in huge letters:) "HULK HOGAN!" 

誰かがそれを行う方法私を見ることができますか?それとも、私が自分のために学ぶことができる、単純で単純な参考文献ですか?私はドキュメントを通してこれを理解しようとしたことを誓っています、そしてStack Overflowの他の例を通してさえ、私はそれを得ていません。

答えて

150

...

NSMutableAttributedString *hogan = [[NSMutableAttributedString alloc] initWithString:@"Presenting the great... Hulk Hogan!"]; 
[hogan addAttribute:NSFontAttributeName 
       value:[UIFont systemFontOfSize:20.0] 
       range:NSMakeRange(24, 11)]; 

この20ポイントのテキストの最後の2つの単語を設定します。残りの文字列はデフォルト値を使用します(これは12ポイントと考えています)。テキストサイズの設定について混乱させるかもしれないのは、書体を同時にサイズを設定する必要があることです。それぞれのサイズは、UIFontオブジェクトで両方のプロパティをカプセル化しています。

+0

SWIFTの範囲については、この回答を参照してください:http://stackoverflow.com/a/27041376/1736679 – Efren

0

簡単なやり方をしたいのなら、NSAttributedStringのカテゴリを提供するOHAttributedLabelというgit repoがあります。あなたは、サードパーティ製のlibが使用起因する文字列を使い始める方法についてのまともなチュートリアルのためthis linkをチェックアウトしたくない場合は

NSMutableAttributedString *mystring = [[NSMutableAttributedString alloc] initWithString:@"My String"]; 
[mystring setTextColor:[UIColor colorWithRGB:78 green:111 blue:32 alpha:1]]; 
mystring.font = [UIFont systemFontOfSize:14]; 

:それはあなたのようなものを行うことができます。あなたはこのような何かをするだろう

14

スウィフト3ソリューション

また、あなたが代わりにObjCまたはスウィフトのインデックスを指定するappend機能を使用することができますスウィフト4では

let attrString = NSMutableAttributedString(string: "Presenting The Great...", 
              attributes: [ NSFontAttributeName: UIFont.systemFont(ofSize: 20) ]) 

attrString.append(NSMutableAttributedString(string: "HULK HOGAN!", 
              attributes: [NSFontAttributeName: UIFont.systemFont(ofSize: 40) ])) 
1

を、あなたはどうなる:

let attrString = NSMutableAttributedString(string: "Presenting The Great...", 
             attributes: [NSAttributedStringKey.font: UIFont.systemFont(ofSize: 18)])); 

attrString.append(NSMutableAttributedString(string: "HULK HOGAN!", 
             attributes: [NSAttributedStringKey.font: UIFont.systemFont(ofSize: 36)]));