5216


`UILabel` を設置し、テキストの一部分だけを赤文字に変えたいのですが、

[code]

    import UIKit
        class ViewController: UIViewController {
            override func viewDidLoad() {
                super.viewDidLoad()
            }
    
            override func didReceiveMemoryWarning() {
                super.didReceiveMemoryWarning()
            }
    
            //UILabelのOutlet
            @IBOutlet weak var myLabel: UILabel!
    
        }
    
[/code]

基本的に Storyboard での操作のため、コードは紐付け部分しかないのですが、 `UIButton`
を押したときに次の文章に行くような動作を書く予定です。

Storyboard 内でラベルを色別に複数に分けるという方法も試したのですが、とても面倒で `ViewController`
が見にくく、複雑になってしまいます。どうコーディングしていけば、より少ない行数で、なおかつ簡単に一部分だけ色を変えることが出来るでしょうか？

お詳しい方がいましたらご回答宜しくお願い致します。


CC BY-SA 3.0
2015-01-24T13:09:53.093
5212
2015-01-24T13:35:56.377
2015-01-24T13:24:54.187
4978
5832
question
swift xcode uilabel
UILabel で表示したテキストの一部分だけ色を変える方法 ( Swift )


`NSMutableAttributedString`を作成して`UILabel`の`attributedText`に設定すればよいです。

[code]

    let attrText= NSMutableAttributedString(string: "aaa bbb ccc")
    attrText.addAttribute(NSForegroundColorAttributeName,
                               value: UIColor.redColor(),
                               range: NSMakeRange(4, 3))
    myLabel.attributedText = attrText
    
[/code]


CC BY-SA 3.0
2015-01-24T13:27:55.757
5215
2015-01-24T13:35:41.463
2015-01-24T13:35:41.463
5750
5750
5212
answer


属性付きテキスト（[`NSAttributedString`](https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSAttributedString_Class/index.html)）を用いて文字の一部の色を変えることができます。

`Storyboard`上で設定すればコーディング不要です。

![画像の説明をここに入力](https://i.stack.imgur.com/4AjaT.png)


CC BY-SA 3.0
2015-01-24T13:35:56.377
5216
2015-01-24T13:35:56.377
5337
5212
answer