我有一個Apple Watch應用程序使用Menlo Bold字體作爲標籤。在WatchKit(Apple Watch)中設置系統以外的其他字體
在支持watchkit的Xcode的第一個版本中,我能夠將故事板中的標籤字體更改爲Menlo Bold 36,並且一切正常。
在CURENT版本(的Xcode 6.2),這是不可能的了,所以我發現瞭如何自定義字體設置Apple關注本教程中,http://www.tech-recipes.com/rx/53710/how-do-i-use-custom-fonts-in-my-apple-watch-app/
我這個教程中,我發現這個代碼:
func printFonts() {
let fontFamilyNames = UIFont.familyNames()
for familyName in fontFamilyNames {
println("------------------------------")
println("Font Family Name = [\(familyName)]")
let names = UIFont.fontNamesForFamilyName(familyName as String)
println("Font Names = [\(names)]")
}
}
此代碼打印可用字體。
它用於瞭解爲什麼添加的字體的名稱。
在這個階段,我沒有添加任何自定義字體,但我運行此功能只是爲了查看默認情況下Apple Watch上可用的字體。
運行這個後,我發現:
/* lot of fonts before */
------------------------------
Font Family Name = [Menlo]
Font Names = [[Menlo-BoldItalic, Menlo-Regular, Menlo-Bold, Menlo-Italic]]
------------------------------
/* lot of fonts after */
它看起來像我的門洛帕克粗體可以用Apple關注,但我不能在故事板中選擇它。
所以,我認爲這是非常好的,我不需要添加字體,我只是使用它。
這是我的代碼:
// must maee attributed text
let attributedTextForHour = NSAttributedString(
string: "IS IT WORKING",
attributes: NSDictionary(object: UIFont(name: "Menlo-Bold", size: 36)!, forKey:NSFontAttributeName))
// with atributex text
mylabel.setAttributedText(attributedTextForHour)
當我運行在模擬器此代碼,標籤的字體不改變。
這裏有其他一些奇怪的事情:
-
調試器
- ,當我設置上
mylabel.setAttributedText(attributedTextForHour)
突破點,做快看就attributedTextForHour
它是在正確的字體顯示。
所以在調試器中它是好的,但在模擬器上它不是。
那麼如何解決這個問題呢?
我沒有Apple Watch,所以我可以看到真實設備上發生了什麼。
因此,我不知道我的代碼中是否存在某些問題,或者這是Apple的錯誤形式。
如果有人可以在計算機上測試並報告結果,那也是有用的。
也許整個問題是因爲我沒有從外面添加Menlo粗體字體,我正在使用printFont()函數顯示的內容。 所以,如果有人知道我可以下載Menlo Bold字體,請提供鏈接,以便我也可以測試。