ho un metodo che mi dà la dimensione ideale per un'UITextView data una lunghezza di corda (con la dimensione corrispondente carattere corretto):Con cosa dovrei sostituire il sizeWithFont: metodo deprecato?
- (NSInteger) heightOfLabel:(NSString*) string {
CGSize maximumLabelSize = CGSizeMake([[UIScreen mainScreen] bounds].size.width - 40, FLT_MAX);
CGSize expectedLabelSize = [[NSString stringTrimmedForLeadingAndTrailingWhiteSpacesFromString:string]
sizeWithFont:[UIFont systemFontOfSize:15]
constrainedToSize:maximumLabelSize
lineBreakMode:NSLineBreakByWordWrapping];
return expectedLabelSize.height + 5;
}
Infatti, ancora mi dà una misura perfetta, anche in iOS7 . Anche se ora viene fornito un metodo di avviso che dice che non dovrei usare "sizeWithFont: contrainedToSize: lineBreakMode".
E ora dice dovrei usare -boundingRectWithSize: opzioni: attributi: contesto:
Questo metodo non è nuovo a iOS7 e quindi immagino che sia giusto chiedere che in caso di overflow dello stack, piuttosto che andare attraverso il forum ufficiale degli sviluppatori di apple.
Ho tre domande:
1) Perché è deprecato, significa che dovrei sicuramente sostituirlo, nonostante ancora lavorando?
2) Ho provato molti diversi limitiRectWithSize: metodi, con varie variabili ma non è mai perfetto, sembra sempre leggermente fuori (come fanno notare molte domande StackOverflow) - C'è un sostituto perfetto con questo nessuno-deprecato metodo che fa esattamente lo stesso del mio precedente metodo con il minimo dispiacere?
3) perché rimuovere questo metodo? È a causa della sovrapposizione con questo altro metodo?
Suggerire questo [link] (http://www.cnblogs.com/lisa090818/p/3445161.html). – yazh
wtf è quel collegamento? – Rambatino