Altura de la cadena cuando el text unicode está en la cadena en el iPhone

Cuando trato de usar esta function con un text unicode, devuelve la altura incorrecta como su altura calculadora de acuerdo con el tamaño de fuente, pero los emoticones se vuelven más grandes y toman más altura que sin unicode.

[text sizeWithFont: [UIFont systemFontOfSize: 12.0] constrainedToSize: CGSizeMake (233.0f, 999.0f) lineBreakMode: UILineBreakModeWordWrap];

¿Se puede calcular la altura real con unicódigo en la cadena?

Eche un vistazo al marco CoreText.

Podrías probar algo como:

CTFrameSetterRef framesetter = CTFramesetterCreateWithAttributedString(myAttributedString); CGSize size = CTFramesetterSuggestFrameSizeWithConstraints(frame setter, CFRangeMake(0, stringLength), NULL, CGSizeMake(maxWidth, maxHeight), NULL); 

Esto debería get el tamaño correcto para usted. Por supuesto, puedes hacer que maxHeight sea arbitrariamente grande para asegurarte de que la cadena encaja en el tamaño máximo. O puede pasar un puntero a un CFRange como el último parámetro y lo establecerá en el range de la cadena que fue capaz de ajustarse al tamaño máximo que le pasó.

Espero que esto funcione para usted 🙂