Toady,我想以编程方式更改TextField的占位符文本颜色。我找到了一个答案来实现它:
let placeholder = NSAttributedString(string: "(\(i),\(j))", attributes: [NSForegroundColorAttributeName : UIColor.whiteColor()])
tf.attributedPlaceholder = placeholder
当我成功实现目标时,我开始考虑如何知道UIObject获取的属性,以及我应该使用哪种NSAttribute来处理某些特定参数。
例如,我想更改NavigationBar的标题文本字体和颜色。最终的解决方案是:
navigationController?.navigationBar.titleTextAttributes =
[
NSForegroundColorAttributeName : UIColor.whiteColor(),
NSFontAttributeName : UIFont(name: "Futura", size: 20)!
]
您是否看到有两种不同的属性。首先,它们彼此非常相似,但它们是不同的。它们也与第一个例子不同。
这让我感到困惑!
所以我在这里要求一些解释,让我再次清理自己:
1.我怎么知道有Attributes
可以让我自定义
2.如果我已经知道有Attribute
,我该如何为它分配一个合适的属性对象。
如果有人发现我不够清楚,你可以告诉我,我会的 尽力清除自己:D
谢谢你的帮助!
答案 0 :(得分:2)
如果我正确解释了您的问题,您希望找到可以在NSAttributedString上设置的所有属性的文档。
您可以通过在NSForegroundColorAttributeName
上单击鼠标右键(按键盘上的alt键并单击)找到该页面,然后单击底部的参考链接。
描述每个属性名称,以及它所期望的对象类型。
也可以在名为Character Attributes的部分名为NSAttributedString UIKit Additions的页面上找到它: https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/NSAttributedString_UIKit_Additions/index.html#//apple_ref/doc/constant_group/Character_Attributes