属性付きテキストの配列が必要です。配列内の位置に応じて各要素の色を変更する必要があります(色相値が位置と相関するため、これは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. ネストした工場で条件付き属性を作成する方法
- 2. NSObjectの属性から配列を作成するNSFetchResultsControllerから
- 3. コレクションの属性を配列に引き出す方法
- 4. 属性の条件付き配列の長さを取得
- 5. 多言語Unicodeテキスト属性をSQLで作成する方法は?
- 6. UITextViewsのテキストを属性付きの文字列に置き換えます。
- 7. AngularJSで配列の属性の値を取得する方法
- 8. 日付配列を使用してカウントオブジェクト配列を作成する方法javascript
- 9. 配列をエンティティの属性に保存する方法は?
- 10. iOS 10と属性付きテキストのカスタムフォントを設定する
- 11. IBクリアボタンからテキストフィールドの属性付きテキストを消去する
- 12. JS配列 - 配列の作成方法
- 13. 2つの属性付き文字列を連結/結合する方法は?
- 14. 配列内のオブジェクトの属性にアクセスする方法は?
- 15. PIL属性エラー:配列作成時の形状
- 16. 制約付きの属性のためのsqlの作成
- 17. ノードred配列jsonで属性を取得する方法
- 18. のiOS:HTML属性付き文字列
- 19. XMLファイルからPHP配列へ(属性付き)
- 20. '値'属性を使用して、DateFrameの複数の行からnumpy配列を作成する方法は?
- 21. XMLブランク属性の作成、 ':'文字付きの問題
- 22. スレッドの属性を作成して表示する方法
- 23. 例外の配列を属性に渡す方法
- 24. articlesタグのデータ属性のリストから配列を作成する
- 25. スカラーで配列の配列を作成する方法
- 26. Python:オブジェクトと属性を持つクラスを作成する方法
- 27. 他のクラスのオブジェクトの配列を保持するクラスを作成する方法、他のクラスのプライベート属性を操作する方法
- 28. 作成前にモデル属性を検証する方法
- 29. apacheでカスタム属性を作成する方法は?
- 30. Data Annotationでカスタム属性を作成する方法
:
UILabel
へ出力は次のようになります。あなたが試したコードを提供しているかもしれません。 – Zaz