ytyubox / YuBlog

這是用來記錄的Blog,紀錄內容在 Issues 頁面中。
0 stars 0 forks source link

20190327 Theme的方法 #15

Open ytyubox opened 5 years ago

ytyubox commented 5 years ago
struct Theme {
  static func apply(){
    guard 
         let headerFont = <#MYFONT1#>,
         let primaryFont = <#MYFONT2#> else {
      NSLog("Fail to load application font")
      return
    }
    let tintColor = <#MYUICOLOR#>
    UIApplication.shared.delegate?.window??.tintColor = tintColor
    let navbarLabel = UILabel.appearance(whenContainedInInstancesOf: [UINavigationBar.self])
    let barbutton = UIBarButtonItem.appearance()
    let buttonLabel = UILabel.appearance(whenContainedInInstancesOf: [UIButton.self])
    let navBar = UINavigationBar.appearance()
    let label = UILabel.appearance()
    navBar.titleTextAttributes = [.font:headerFont]
    navbarLabel.font = primaryFont
    label.font = primaryFont
    barbutton.setTitleTextAttributes([.font : primaryFont], for: .normal)
    barbutton.setTitleTextAttributes([.font : primaryFont], for: .highlighted)
  }
}

set Theme

<#SOMEWHERE#>
Theme.apply()
ytyubox commented 5 years ago

值得注意的是如果該物件已經被render在畫面上之後,更改UIAppearence將不會影響該物件。