关于NSAttributes,我如何知道它们的属性

时间:2015-10-26 06:22:19

标签: ios swift

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

谢谢你的帮助!

1 个答案:

答案 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