如何更改UIRefreshControl的字体和颜色

时间:2015-02-21 21:10:14

标签: ios swift autolayout

我正在尝试添加一个pull来刷新我的表视图控制器,所以我已经处理了功能,然后我正在进行布局。功能完美但我有一些与布局有关的问题,我想改变标题的字体和字体颜色。我在故事板上的刷新控制器的属性上更改了它们,但每次运行项目时,我的所有设置都恢复为默认值。所以,我尝试使用代码处理它们,现在我可以更改背景和tintColor,但我无法更改字体和颜色。能帮帮我吗,这是我的代码:

    refresh.backgroundColor = UIColor(red: 220/255, green: 220/255, blue: 220/255, alpha: 1)
    refresh.tintColor = UIColor(red: 155/255, green: 155/255, blue: 154/255, alpha: 1)
    var label:NSAttributedString = NSAttributedString(string: "Refresh!!!")

    refresh.attributedTitle = label

谢谢,

4 个答案:

答案 0 :(得分:14)

我看到这个问题很老了,但万一有人在找到答案时偶然发现了这个问题。

颜色是属性字符串的一部分,通过属性字典设置。

let attributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]
let attributedTitle = NSAttributedString(string: "title", attributes: attributes)

refreshControl.attributedTitle = attributedTitle

字体也是如此。

[NSFontAttributeName: UIFont(name: fontName, size: size)]

答案 1 :(得分:4)

Swift 4:

let attributes = [NSAttributedStringKey.foregroundColor: UIColor.white]
refreshControl.attributedTitle = NSAttributedString(string: "Refreshing please wait", attributes: attributes)

答案 2 :(得分:2)

斯威夫特3:

let attributes = [NSForegroundColorAttributeName: UIColor.white, NSFontAttributeName: UIFont.systemFont(ofSize: 12)]
refreshControl.attributedTitle = NSAttributedString(string: "Test text", attributes: attributes)

答案 3 :(得分:0)

快捷键5:

let attributes = [NSAttributedString.Key.foregroundColor: UIColor.white]
refreshControl.attributedTitle = NSAttributedString(string: "Pull to refresh", attributes: attributes)