【问题标题】:Converting a CATransform3D to an NSString将 CATransform3D 转换为 NSString
【发布时间】:2015-03-18 00:49:57
【问题描述】:

我希望能够为CATransform3D 做类似于NSStringFromCGAffineTransform 的事情。是否有任何内置功能?或者使用现有 API 的方式?

例如:

[[layer valueForKey:@"transform"] description]

几乎可以,但将转换值输出为十六进制。

【问题讨论】:

    标签: cocoa calayer catransform3d


    【解决方案1】:

    CATransform3DCGFloats的结构体,命名为m11, m12, m13, ...(在Xcode中右键CATransform3D并点击“跳转到定义”)。知道了这一点,您就可以创建一个行为方式与其他 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];
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-30
      • 2017-03-08
      • 2016-01-17
      • 2012-02-29
      • 2011-02-04
      • 2011-04-24
      • 2013-10-19
      • 2017-04-23
      相关资源
      最近更新 更多