ios - 我想在 Swift 中使用 Objective-C 的函数

标签 ios objective-c swift

我想得到一个字符串的宽度,我得到的答案是使用这个方法(但它只是在 OC 中):enter image description here

我在官方 API 文档中找到它。当然没有 Swift 版本。 由于我对OC一无所知,所以我不能用OC语言来写我所有的代码。但是我发现我可以创建一个XXX-Bridging-Header.h文件,并在.swift文件中导入我想使用的OC的头文件。

但是我不知道这个函数在哪个头文件中。我希望有人能告诉我文件名或者指出另一种获取字符串宽度的方法。

非常感谢!

最佳答案

您要弃用的函数及其替换为:

CGRect textRect = [text boundingRectWithSize:size
                           options:NSStringDrawingUsesLineFragmentOrigin
                          attributes:@{NSFontAttributeName:FONT}
                             context:nil];

您可以设置尺寸:

CGSize size = textRect.size;

在 Swift 中:

 NSString(string).boundingRectWithSize(CGSize(width, DBL_MAX),
                                      options: NSStringDrawingOptions.UsesLineFragmentOrigin,
                                      attributes: [NSFontAttributeName: FONT],
                                      context: nil)

FONT 是你想要的字体。

关于ios - 我想在 Swift 中使用 Objective-C 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33409012/

相关文章:

swift - UIStackView 拉伸(stretch) subview 并对齐它

ios - 在Swift中有效地在Array上生成连续且相同的数字

ios - 如果app在终止过程中发送http请求,服务器会收到吗?

ios - AppDelegate 函数未加载 TableView Controller

iOS 7 自定义过渡故障

iphone - 使用自定义 UITableViewCell 的 UITableView 上的单元格之间的间距

ios - Fabric 测试版 : new build alert

ios - 根据plist文件快速更改标签文本背景颜色

objective-c - 检查是否启用语音命令?

swift - iOS中的PEM编码证书转换