2017-11-03 4 views
1

私は、次のは、背景色がUILabel

enter image description here

を表示しようとしていますをラップ持っていますが、テキストの背景色を設定するときには、背景全体を拡張し、私はちょうど適用しようとしていますよう希望よりもはるかに充満します「ハイライト」テキスト機能任意のアイデアは非常に我々がiOS版でビューの色をラップすることはできません

+0

サブビュー?サブクラス化?少しのコードなしで言うのは難しいです。今、私は*コンテナ*ビューを見る - 背景色は白か透明のどちらかで、2つ、おそらく3つのサブビュー、それぞれが赤い背景と白のフォント色を持つ 'UILabel'を持つ。しかし、もう少し詳しく説明しておきますが、私はあなたの* 8の問題に対処しているかどうかはわかりません。 – dfd

答えて

0

をいただければ幸い、可能性はネイサンが言ったように、重複UILabelsを維持

  1. です。
  2. キャンバスを設計し、それを「UIImageView」に割り当てます。

私は最後の可能性は、あなたはまた、このクエリに関する私のGitHub repositoryを表示することができます

を実装するための良い方法だと思います。

0

テキストの行を繰り返してから、背景色を線で適用します。ここで私はMulti-line String Literalsを使いました。 NSBackgroundColorAttributeNameを使用すると、線に色を適用できます。

@IBOutlet weak var myLabel: UILabel! 

    myLabel.text = """ 
    GET 
    MORE LIVES 
    """ 
    myLabel.numberOfLines = 0 
    let attributeString = NSMutableAttributedString(string: myLabel.text!) 
    let labelText = myLabel.text! 
    var lines: [String] = [] 
    labelText.enumerateLines { line, _ in 
     lines.append(line) 
    } 
    print(lines)//lines in your text 
    var startIndex = 0 
    for value in lines { 
    //Apply background color to lines 
     attributeString.addAttribute(NSBackgroundColorAttributeName, value: UIColor.red, range: NSRange(location: startIndex, length: value.characters.count)) 
     startIndex = startIndex + value.characters.count + 1 
    //startIndex will locate new line's first index 
    } 
    //Assign attributedText to your label 
    myLabel.attributedText = attributeString