将 CATransform3D 转换为 NSString
Converting a CATransform3D to an NSString
我希望能够为 CATransform3D
执行类似于 NSStringFromCGAffineTransform
的操作。是否有任何内置功能?或者使用现有 API 的方法?
例如:
[[layer valueForKey:@"transform"] description]
几乎做到了,但将转换值输出为十六进制。
CATransform3D
是CGFloat
的一个结构体,命名为m11, m12, m13, ...
(右键点击Xcode中的CATransform3D
然后点击"Jump to Definition") .知道了这一点,您就可以创建一个与其他 NSStringFromX()
函数具有相似行为方式的函数。
NSString *NSStringFromCATransform3D(CATransform3D transform) {
return [NSString stringWithFormat:@"[%f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f]",
transform.m11, transform.m12, transform.m13, transform.m14,
transform.m21, transform.m22, transform.m23, transform.m24,
transform.m31, transform.m32, transform.m33, transform.m34,
transform.m41, transform.m42, transform.m43, transform.m44];
}
我希望能够为 CATransform3D
执行类似于 NSStringFromCGAffineTransform
的操作。是否有任何内置功能?或者使用现有 API 的方法?
例如:
[[layer valueForKey:@"transform"] description]
几乎做到了,但将转换值输出为十六进制。
CATransform3D
是CGFloat
的一个结构体,命名为m11, m12, m13, ...
(右键点击Xcode中的CATransform3D
然后点击"Jump to Definition") .知道了这一点,您就可以创建一个与其他 NSStringFromX()
函数具有相似行为方式的函数。
NSString *NSStringFromCATransform3D(CATransform3D transform) {
return [NSString stringWithFormat:@"[%f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f]",
transform.m11, transform.m12, transform.m13, transform.m14,
transform.m21, transform.m22, transform.m23, transform.m24,
transform.m31, transform.m32, transform.m33, transform.m34,
transform.m41, transform.m42, transform.m43, transform.m44];
}