iOS UILabel.appearance()。textColor不可用

时间:2017-11-13 17:40:46

标签: ios swift swift4 uiappearance

我正在尝试更改应用中所有标签的默认文字颜色。我曾尝试使用UILabel.appearance()。textColor,但它不适用于我。有人可以告诉我做错了什么吗?我已经检查了很多关于SO的问题,最新的问题是this。并且按照说明可以使用。

enter image description here

如果我改变了背景颜色 - 它有效。试图改变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,Swift 4。

1 个答案:

答案 0 :(得分:12)

只需输入。它会编译。

UILabel.appearance().textColor = .red