Ancora una volta Xcode IB frustra gli sviluppatori con avvertimenti inutili.
Feltri allo stesso modo anche su di esso, fino a quando ho visto come la mia tipografia differisce in 10.10 rispetto a 10.11. Una cosa è vera: il messaggio è spazzatura senza indicare un elemento problematico dello storyboard, vedi P.S section of the post per una semi-soluzione.
risposta attuale quasi lo ottiene, ma il problema non è con stili di carattere che non è disponibile a obiettivi più grandi, è con Xcode non gestisce in modo corretto, vedere full blog post per i dettagli.
Se si desidera mantenere i propri stili, utilizzare un campo di testo personalizzato con proprietà personalizzate ispezionabili. Apri la finestra di ispezione dell'identità e imposta la classe personalizzata su TextField, l'attributo di peso font preferito verrà visualizzato nell'ispettore Attributi, imposta il valore richiesto, crea e gusta il risultato.
import AppKit
@IBDesignable public class TextField: NSTextField
{
@IBInspectable public var preferredFontWeight: Int = 0
override public func awakeFromNib() {
if #available(OSX 10.11, *) {
return
}
guard
let weight: Int = self.preferredFontWeight where weight > 0,
let font: NSFont = self.font,
let name: String = font.familyName,
let manager: NSFontManager = NSFontManager.sharedFontManager() else {
return
}
// Full details here – https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSFontManager_Class/#//apple_ref/occ/instm/NSFontManager/convertWeight:ofFont:
//
// 1 – ultralight
// 2 – thin
// 3 – light, extralight
// 4 – book
// 5 – regular, display
// 6 – medium
// 7 – demi, demibold
// 8 – semi, semibold
// 9 – bold
// 10 – extra, extrabold
// 11 – heavy
// 12 – black
// 13 – ultrablack
// 14 – extrablack
if let font: NSFont = manager.fontWithFamily(name, traits: manager.traitsOfFont(font), weight: weight, size: font.pointSize) {
self.font = font
}
}
}
Se non vi interessa veramente per gli stili, Usa i caratteri di peso normale per tutto il testo, che dovrebbe risolvere il problema, vedere il mio precedente answer per le opzioni disponibili.
fonte
2016-04-30 11:31:54
puoi creare un progetto di esempio ridotto a zero dimostrando questo avviso disponibile da qualche parte? –
@MichaelDautermann Ho provato ad isolare il problema rimuovendo gli oggetti uno per uno, ma l'avviso appare ancora fino a quando ogni oggetto è stato rimosso dal file –
sì! Questo è il motivo per cui speravo di vedere un progetto di esempio che dimostrasse il problema, quindi avrei potuto provare a capirlo per te (e per tutti gli altri :-). Elimina tutto tranne un oggetto nello xib (dove appare ancora l'avviso). –