2016-04-29 56 views
1

我遇到navFont一些问题。 在我的文件CustomAppearance.swift,我越来越修复navFont不能用于'...'类型的实例吗?

navFont无法在类型“自定义外观”的实例使用一个错误。

这里是我的代码:

import Foundation 

struct CustomAppearance { 

    static let navFont = UIFont(name: "SF-UI-Text-Light", size: 17.0) 

    func applyCustomAppearanceToNavigationBar() { 
     UINavigationBar.appearance().translucent = false 
     UINavigationBar.appearance().barTintColor = UIColor.whiteColor() 
     UINavigationBar.appearance().tintColor = UIColor.blackColor() 
     UINavigationBar.appearance().titleTextAttributes = [NSFontAttributeName: navFont!, NSForegroundColorAttributeName: UIColor.blackColor() ] 
    } 
} 
+1

我检查了。没有类似的问题。除了有类似问题但完全不相关的问题。 – kyleappdev

回答

1

你必须使用合格的名称为静态变量:

struct CustomAppearance { 

    static let navFont = UIFont(name: "SF-UI-Text-Light", size: 17.0) 

    func applyCustomAppearanceToNavigationBar() { 
     UINavigationBar.appearance().titleTextAttributes = [ 
      NSFontAttributeName: CustomAppearance.navFont!, 
      NSForegroundColorAttributeName: UIColor.blackColor() 
     ] 
    } 
} 

在斯威夫特的未来版本,语法Self.navFont!也将是可能的(见Swift Evolution - Universal Self

相关问题