在 CGRect 和 NSValue 之间进行转换,需要使用一些库和工具。以下是一种转换方法:
FastCGRectToNSValue
和 NSValueToFastCGRect
这两个类。使用 CocoaPods 或 Carthage 安装:pod 'FastCGRectToNSValue'
pod 'NSValueToFastCGRect'
import UIKit
let rect = CGRect(x: 10, y: 10, width: 30, height: 30)
let nsValue = FastCGRectToNSValue(rect)
import UIKit
let nsValue = NSValue(cgRect: CGRect(x: 10, y: 10, width: 30, height: 30))
let rectValue = NSValueToFastCGRect(nsValue)
FastCGRectToNSValue
和 NSValueToFastCGRect
这两个类实现了 CGRect 和 NSValue 之间的转换。
此外,您也可以使用 Objective-C 版本的代码:
CGRect rect = CGRectMake(10, 10, 30, 30);
NSValue *nsValue = [NSValue valueWithCGRect:rect];
NSValue *nsValue = [NSValue valueWithCGRect:CGRectMake(10, 10, 30, 30)];
CGRect rectValue = [nsValue CGRectValue];
这些代码示例将帮助您实现 CGRect 和 NSValue 之间的转换。
领取专属 10元无门槛券
手把手带您无忧上云