Sto lavorando a una nuova versione della mia app e sto tentando di sostituire i messaggi deprecati, ma non riesco a superare questo.drawInRect: withAttributes vs drawInRect: withFont: lineBreakMode: allineamento
Non riesco a capire perché drawInRect:withAttributes
non funziona. Il codice viene visualizzato correttamente quando viene inviato il messaggio drawInRect:withFont:lineBreakMode:alignment
, ma non funziona quando viene inviato drawInRect:withAttributes
.
Sto usando lo stesso rect e font e io quello che credo sia lo stesso stile di testo. Le costanti stanno posizionando il rect appena sotto un'immagine, ma sto usando lo stesso rect per entrambe le chiamate, quindi sono certo che il rettangolo sia corretto.
(si noti che bs.name utilizzato sotto è un oggetto NSString)
CGRect textRect = CGRectMake(fCol*kRVCiPadAlbumColumnWidth,
kRVCiPadAlbumColumnWidth-kRVCiPadTextLabelYOffset,
kRVCiPadAlbumColumnWidth,
kRVCiPadTextLabelHeight);
NSMutableParagraphStyle *textStyle = [[NSMutableParagraphStyle defaultParagraphStyle] mutableCopy];
textStyle.lineBreakMode = NSLineBreakByWordWrapping;
textStyle.alignment = NSTextAlignmentCenter;
UIFont *textFont = [UIFont systemFontOfSize:16];
Questo non funziona (non viene disegnata sullo schermo) utilizzando le variabili dall'alto
[bs.name drawInRect:textRect
withAttributes:@{NSFontAttributeName:textFont,
NSParagraphStyleAttributeName:textStyle}];
Questo funziona (la stringa è disegnata correttamente sullo schermo) utilizzando le stesse variabili dall'alto
[bs.name drawInRect:textRect
withFont:textFont
lineBreakMode:NSLineBreakByWordWrapping
alignment:NSTextAlignmentCenter];
Qualsiasi assistenza sarebbe grande. Grazie.
Che cosa intendi dicendo che 'drawInRect: withAttributes:' non funziona? –
Ottima domanda. Scusa non ho elaborato. La stringa contenuta in bs.name viene disegnata correttamente sullo schermo usando drawInRect: withFont: lineBreakMode: messaggio di allineamento ma non appare quando si usa drawInRect: con il messaggio Atributes (non viene disegnato nulla). –