NSString sizeWithAttributes是一个用于计算字符串在指定字体和字号下的尺寸的方法。然而,在iOS 12上使用该方法可能会导致崩溃。
在iOS 12之前的版本中,我们可以使用该方法来获取字符串的尺寸,示例代码如下:
NSString *text = @"Hello, World!";
UIFont *font = [UIFont systemFontOfSize:14.0];
CGSize textSize = [text sizeWithAttributes:@{NSFontAttributeName: font}];
然而,在iOS 12上,使用该方法可能会导致以下错误:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSConcreteAttributedString sizeWithAttributes:]: unrecognized selector sent to instance 0x7ff3b3d4b990'
这是因为在iOS 12中,该方法已被废弃,并且在NSAttributedString类中实现。因此,我们需要对代码进行修改,使用NSAttributedString来计算字符串的尺寸,示例代码如下:
NSString *text = @"Hello, World!";
UIFont *font = [UIFont systemFontOfSize:14.0];
NSAttributedString *attributedText = [[NSAttributedString alloc] initWithString:text attributes:@{NSFontAttributeName: font}];
CGSize textSize = [attributedText size];
在这个示例中,我们首先创建了一个NSAttributedString对象,将字符串和字体属性传递给它。然后,我们可以使用size方法来获取字符串的尺寸。
推荐的腾讯云相关产品:腾讯云移动推送(https://cloud.tencent.com/product/umeng_push)、腾讯云移动直播(https://cloud.tencent.com/product/mlvb)、腾讯云云服务器(https://cloud.tencent.com/product/cvm)。
请注意,以上答案仅针对NSString sizeWithAttributes在iOS 12上崩溃的问题,如果您还有其他问题或需要更多帮助,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云