iOS UILabel.appearance().textColor 不可用

Posted

技术标签:

【中文标题】iOS UILabel.appearance().textColor 不可用【英文标题】:iOS UILabel.appearance().textColor is not available 【发布时间】:2017-11-13 17:40:45 【问题描述】:

我正在尝试更改应用程序中所有标签的默认文本颜色。我曾尝试使用UILabel.appearance().textColor,但它对我不可用。有人可以告诉我我做错了什么吗?我查了很多关于 SO 的问题,最新的一个是this。根据描述,它是可用的。

如果我更改了背景颜色 - 它可以工作。试图改变tintColor - 没有效果。为什么?它是从 UIAppearance 协议中删除的吗?

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate 
    var window: UIWindow?
    var smStore: SMStore?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool 

        // UIAppearance configuring
            let tintColor = UIColor.white
            //let backgroundColor = UIColor(red: 5, green: 72, blue: 149, alpha: 1)
            let backgroundColor = UIColor.black

            // Global tintColor
            window?.tintColor = tintColor

            // UIViews
            UIView.appearance().tintColor = tintColor
            UIView.appearance().backgroundColor = backgroundColor

            // UINavigationBars
            UINavigationBar.appearance().tintColor = tintColor
            UINavigationBar.appearance().backgroundColor = tintColor

            // UITableViews
            UITableView.appearance().backgroundColor = backgroundColor
            UITableViewCell.appearance().backgroundColor = backgroundColor
            UITableViewCell.appearance().tintColor = tintColor

            // UILabels
            UILabel.appearance().backgroundColor = UIColor.green
            ...
        

Xcode 9,斯威夫特 4。

【问题讨论】:

【参考方案1】:

只需输入它即可编译。

UILabel.appearance().textColor = .red

【讨论】:

这是自动补全坏了吗?

以上是关于iOS UILabel.appearance().textColor 不可用的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin.iOS - 操作表行号

更改 UILabel 的大小会更改其字体名称

如何使 UIAppearance 代理适用于以编程方式创建的视图?

设置允许不同大小的应用程序范围的默认字体

{python之IO多路复用} IO模型介绍 阻塞IO(blocking IO) 非阻塞IO(non-blocking IO) 多路复用IO(IO multiplexing) 异步IO

IO模型--阻塞IO,非阻塞IO,IO多路复用,异步IO