【发布时间】:2013-04-04 15:16:25
【问题描述】:
我正在使用
- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMode
获取 NSString 的大小。但是,当该字符串包含表情符号时,它似乎会计算文字 unicode 字符的大小,而不是考虑表情符号本身的大小,从而导致返回的大小不正确。
如何正确获取带有表情符号字符的字符串的大小,因为它会出现在 uilabel 中?
【问题讨论】:
-
也许您可以给出一个字符串的具体(简短)示例、计算的大小和预期的大小。
-
我刚刚尝试过混合使用不同的表情符号和罗马字符、不同的字体,而且大小总是正确的......也许问题出在你的
constrainedToSize:参数上,它太小了包含字符串... -
默认情况下,所有表情符号都以固定大小呈现,无论字体大小如何,NSString 和 UIFont 都会完全忽略字体大小。我相信 emoji 字符在 iOS 上总是以大约 20 像素(非视网膜)绘制,因此它们不会与字符串的其余部分一起正确测量。
-
表情符号实际上有两种尺寸(我认为),小号和大号。然而,在我自己的测试中,
NSString总是给出正确的尺寸...
标签: iphone ios objective-c nsstring emoji