属性付きテキストの配列が必要です。配列内の位置に応じて各要素の色を変更する必要があります(色相値が位置と相関するため、これはHSVによって実現されます)。配列はユーザーの入力によって異なりますが、色を自動的に変更するように書き込む方法はわかりません。ユーザーの入力が配列に分割されているので、どのように各単語を属性付きテキストに変換するのですか?私はこれをどうやって行うのか全く分からないので、事前に助けてくれてありがとう。属性付きテキストの配列を作成する方法
-1
A
答えて
1
あなたはenumerate
とmap
を使用することにより、より簡潔にこれを行うことができます。
let strings = ["The", "Cat", "In", "The", "Hat"]
let attribStrings = strings.enumerate().map { index, element in
return NSAttributedString(string: element, attributes: [NSForegroundColorAttributeName:UIColor(hue: CGFloat(index)/CGFloat(strings.count), saturation: 0.5, brightness: 0.5, alpha: 1.0)])
}
あなたはUIColor(hue: CGFloat(index)/CGFloat(strings.count), saturation: 0.5, brightness: 0.5, alpha: 1.0)
のテキストの色とNSAttributedString
に、アレイ内のすべての元の要素をマッピングしています。彩度と明るさを好みに合わせて調整する必要があります。あなたはより具体的にすることができればそれが役立つだろう
0
NSForegroundColorAttributeNameを使用すると、NSAttributedStringの色を変更できます。私は 64色を作成するサンプルを以下に示します。
func colorUsingHSV(index : Int, total : Int) -> UIColor
{
return UIColor(hue: CGFloat((CGFloat(index)/CGFloat(total))), saturation: 1.0, brightness: 1.0, alpha: 1.0)
}
func generateAttributeText()
{
var attrStrings = [NSAttributedString]()
for i in 1...64
{
let attrString: NSMutableAttributedString = NSMutableAttributedString(string: "Text")
attrString.addAttribute(NSForegroundColorAttributeName, value: colorUsingHSV(i,total: 64), range: NSMakeRange(0, attrString.length))
attrStrings.append(attrString)
}
}
関連する問題
- 1. UITextFieldで属性付きテキスト
- 2. ネストした工場で条件付き属性を作成する方法
- 3. NSObjectの属性から配列を作成するNSFetchResultsControllerから
- 4. コレクションの属性を配列に引き出す方法
- 5. Interface Builderで属性付きテキストを使用するSFフォントの使用方法
- 6. テキストを属性付きテキストに置き換えて操作を追加
- 7. 属性の条件付き配列の長さを取得
- 8. 多言語Unicodeテキスト属性をSQLで作成する方法は?
- 9. 属性付き文字列をUITextFieldの属性付きテキストに追加し、以前の色と属性をすべて保持します。
- 10. UITextViewsのテキストを属性付きの文字列に置き換えます。
- 11. AngularJSで配列の属性の値を取得する方法
- 12. 日付配列を使用してカウントオブジェクト配列を作成する方法javascript
- 13. Spark 2.1でオプションの属性を持つことができる型付きデータセットを作成する方法
- 14. 配列をエンティティの属性に保存する方法は?
- 15. IBクリアボタンからテキストフィールドの属性付きテキストを消去する
- 16. iOS 10と属性付きテキストのカスタムフォントを設定する
- 17. HTML /属性付きテキストを含むUILabel - UIScrollView内での拡大/縮小方法
- 18. JS配列 - 配列の作成方法
- 19. 2つの属性付き文字列を連結/結合する方法は?
- 20. 配列内のオブジェクトの属性にアクセスする方法は?
- 21. javascript配列のオブジェクトリテラルの属性にアクセスする方法
- 22. 制約付きの属性のためのsqlの作成
- 23. MVC APIの独自のAuthorize属性を作成する方法
- 24. PIL属性エラー:配列作成時の形状
- 25. パブリック指数属性をバイト配列に変更する方法
- 26. XML属性と配列を正しくデシリアライズする方法
- 27. ノードred配列jsonで属性を取得する方法
- 28. のiOS:HTML属性付き文字列
- 29. XMLブランク属性の作成、 ':'文字付きの問題
- 30. '値'属性を使用して、DateFrameの複数の行からnumpy配列を作成する方法は?
:
UILabel
へ出力は次のようになります。あなたが試したコードを提供しているかもしれません。 – Zaz