如何更改 UIRefreshControl 的字体和颜色

Posted

技术标签:

【中文标题】如何更改 UIRefreshControl 的字体和颜色【英文标题】:How to change the font and color of UIRefreshControl 【发布时间】:2015-02-21 21:10:14 【问题描述】:

我正在尝试向我的表格视图控制器添加一个拉动刷新,所以我已经处理了功能,然后我正在处理布局。该功能完美无缺,但我有一些与布局相关的问题,我想更改标题的字体和字体颜色。我在情节提要上的刷新控制器的属性上更改了它们,但是每次运行项目时,我的所有设置都恢复为默认值。因此,我尝试使用代码对它们进行处理,现在我可以更改背景和 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

谢谢,

【问题讨论】:

【参考方案1】:

我看到这个问题已经很老了,但以防其他人在寻找答案时偶然发现这个问题。

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

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

refreshControl.attributedTitle = attributedTitle

字体也是如此。

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

【讨论】:

如何更改活动指示器颜色? 只需设置色调颜色,如:refreshControl.tintColor = UIColor.whiteColor()【参考方案2】:

斯威夫特 4:

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

【讨论】:

【参考方案3】:

斯威夫特 3:

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

【讨论】:

【参考方案4】:

斯威夫特 5:

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

【讨论】:

以上是关于如何更改 UIRefreshControl 的字体和颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何使用不同的图像和位置自定义 UIRefreshControl?

如何使用不同的图像和位置自定义 UIRefreshControl?

如何以编程方式向下滑动UITableView以显示底层的UIRefreshControl

拉动刷新默认刷新级别更改

如何添加 UIRefreshControl

如何在没有 UITableViewController 的情况下结束 UIRefreshControl