2015-01-26 10 views
7

Sto provando a cambiare il carattere dell'etichetta. Ma ogni font che ho impostato in Attributes Inspector è diverso dal font di sistema - non cambia nulla - né simulatore né storyboard. Ho anche provato a impostare il font in modo programmatico con la stringa Attributes: viene visualizzato lo stesso carattere di sistema. Grazie per l'aiuto.WatchKit WKInterfaceLabel non può cambiare il font

+0

Stai utilizzando la versione beta più recente (Xcode 6.2 beta 4)? 'WKInterfaceLabel -setHidden:' sembra essere rotto dall'ultimo aggiornamento. Non cambio font nella mia app sperimentale, ma potrebbero esserci ulteriori problemi in 'WKInterfaceLabel'. – miho

+0

Sì, sono con l'ultima Xcode 6.2 beta 4. Spero di avere una soluzione o tutto quello che posso fare è aspettare la prossima beta 5. –

+0

Fare clic [qui per vedere la risposta] [1] [1] : http://stackoverflow.com/questions/28360525/not-able-to-set-custom-fonts-in-watchkit/28360752#28360752 –

risposta

13

Al momento non è possibile utilizzare i caratteri iOS inclusi in WatchKit. L'unico disponibile è System (San Francisco). Source: Apple Developer Forums

È possibile comunque utilizzare un carattere personalizzato con l'aggiunta del file di font al progetto:

  1. Trascinare i file font nella navigazione di progetto

    font in project navigator

  2. includono il carattere personalizzato file nell'app WatchKit e nel bundle di estensioni WatchKit .

    add both targets

  3. Aggiungere le font forniti da applicativi (UIAppFonts) chiave per sia tua WatchKit app e la tua WatchKit estensioneInfo.plist file

    font key in plist

  4. Aggiungere questo codice awakeWithContext per assicurarsi che si conosce il nome del font corretto chiamare più avanti nel codice:

    print("Custom font names:") 
    print(UIFont.fontNames(forFamilyName: "Exo")) 
    print(UIFont.fontNames(forFamilyName: "Tabardo")) 
    
  5. eseguire l'applicazione e prendere nota dei nomi dei font stampati sulla console di debug. Una volta che conosci il nome corretto, è possibile aggiungere questo codice da qualche parte nella tua WatchKit Estensione:

    var fontSize = CGFloat(32) 
    var text = "so cool" 
    var cstmFont = UIFont(name: "Tabardo", size: fontSize)! 
    var attrStr = NSAttributedString(string: text, attributes: 
        [NSFontAttributeName: cstmFont]) 
    firstLabel.setAttributedText(attrStr) 
    
    fontSize = CGFloat(36) 
    text = "right on!" 
    cstmFont = UIFont(name: "Exo-Regular", size: fontSize)! 
    attrStr = NSAttributedString(string: text, attributes: 
        [NSFontAttributeName: cstmFont]) 
    secondLabel.setAttributedText(attrStr) 
    
  6. Godetevi i caratteri personalizzati in guardia!

    watch interface with custom fonts

Tenete a mente che sguardi e le notifiche non possono utilizzare caratteri personalizzati. Se vuoi usarne uno, dovrai usare un'immagine renderizzata. Tuttavia, poiché gli sguardi e le notifiche dovrebbero essere caricati rapidamente, vorrai che l'immagine sia pronta per essere richiamata.

+0

ha fatto questo, e non funziona ancora ... – Underdog

+0

@Underdog ha modificato il rispondi con le foto Fammi sapere come va! –

Problemi correlati