Obecnie używamJak uzyskać rozmiar NSString, gdy NSString zawiera emotikony?
- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMode
aby uzyskać rozmiaru NSString. Jednak gdy ten ciąg zawiera emotikony, wydaje się, że oblicza on rozmiar literalnego znaku Unicode, zamiast brać pod uwagę rozmiar samego emoji, powodując, że zwracany rozmiar jest nieprawidłowy.
Jak poprawnie uzyskać rozmiar napisu ze znakami emoji, tak jak będzie wyglądał uilabel?
Być może można podać konkretny (krótki) przykład ciągu, obliczony rozmiar i oczekiwany rozmiar. –
Po prostu próbowałem z mieszanką różnych znaków emoji i alfabetu łacińskiego, różnych czcionek, a rozmiar jest zawsze poprawny ... Być może problem dotyczy parametru 'constrainedToSize:', który jest zbyt mały, aby pomieścić ciąg znaków. – Guillaume
Domyślnie wszystkie emoji są wyświetlane w ustalonym rozmiarze, niezależnie od rozmiaru czcionki, a zarówno NSString, jak i UIFont zignorują całkowicie rozmiar czcionki. Uważam, że znaki emoji są zawsze rysowane na poziomie około 20 pikseli (nie-siatkówki) w systemie iOS, więc nie będą prawidłowo mierzone z pozostałymi ciągami znaków. –