Ho cercato di applicare combinazioni di NSFontAttributes a NSMutableAttributedString ultimamente e semplicemente non riesco a trovare una spiegazione approfondita su come farlo senza rimuovere altri attributi.Come applicare grassetto e corsivo in un intervallo NSMutableAttributoStringa?
Ho cercato un mazzo, e abbiamo trovato questo question pertinenza di come farlo con HTML, e poi questo question su come trovare in cui il testo è stato in grassetto o in corsivo, ma nulla su come farlo in realtà .
Attualmente, cerco di punture di formato come segue:
corsivo: [mutableAttributedString addAttribute: NSFontAttributeName value:[fontAttributes valueForKey:CXItalicsFontAttributeName] range:r];
Bold:[mutableAttributedString addAttribute:NSFontAttributeName value:[fontAttributes valueForKey:CXBoldFontAttributeName] range:r];
Dove le costanti CXItalicsFontAttributeName
e CXBoldAttributeName
estrarre i seguenti due valori da un dizionario rispettosamente:
UIFont *italicsFont = [UIFont fontWithName:@"Avenir-BookOblique" size:14.0f];
UIFont *boldFont = [UIFont fontWithName:@"Avenir-Heavy" size:14.0f];
So che questo non deve essere il modo giusto per andare sulla formattazione, poiché la NSAttributedString standard attributes non include un ItalicsFontAttribute o BoldFontAttribute, ma non riesco a trovare il modo corretto per farlo. Qualcuno può aiutarmi?
Questo metodo sembra poco pratico. Significa che dovrò creare il maggior numero di combinazioni possibili per cercare di tenere conto di tutti i casi. Speravo di evitarlo. – Micrified
@Owatch Ecco [una domanda che chiede di enumerare] (http://stackoverflow.com/q/14161254/4151918). Avrai comunque bisogno di costruire i caratteri al volo. Non c'è modo di aggirare questo. –
Avevo scelto la risposta come soluzione prima perché non riuscivo a trovare alternative, ma da allora ho trovato qualcosa di più adatto a quello che stavo cercando, così ho rimosso il segno di spunta. Mi scuso per essere incoerente. – Micrified