将 sizeWithFont 方法转换为 Swift

Posted

技术标签:

【中文标题】将 sizeWithFont 方法转换为 Swift【英文标题】:Converting sizeWithFont method to Swift 【发布时间】:2016-02-16 09:55:09 【问题描述】:

我正在阅读旧的 obj-c 教程并且很难理解 obj-c 代码。而且它们显然已被弃用。 我研究了其他 *** 问题,但我仍然无法弄清楚,因为它们都不是 Swift 中的。

   CGSize textSize = [text sizeWithFont:textFont constrainedToSize:CGSizeMake(printableFrame.size.width, CGFLOAT_MAX) lineBreakMode:UILineBreakModeWordWrap];
   CGRect textFrame = CGRectMake(printableFrame.origin.x, currentY, textSize.width, textSize.height);

如何将上述代码转换为 Swift?

【问题讨论】:

我确信 –sizeWithFont:constrainedToSize:ios7 以来已被弃用。 【参考方案1】:

该方法已被弃用,取而代之的是 sizeWithAttributes。

Replacement for deprecated sizeWithFont: in iOS 7?

不幸的是,要转换为 swift,您似乎必须在代码中使用 NSString

CGSize sizeWithAttributes in Swift

干净,但这会影响性能,因此如果这些行被大量调用,您可能需要寻找其他解决方案。

【讨论】:

以上是关于将 sizeWithFont 方法转换为 Swift的主要内容,如果未能解决你的问题,请参考以下文章