将 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的主要内容,如果未能解决你的问题,请参考以下文章
sizeWithFont:constrainedToSize:lineBreakMode: 在 iOS7 中已弃用
sizeWithFont: ConstrainedToSize: lineBreakMode: 方法在 iOS 7 中已弃用