gpt4 book ai didi

iphone - 2D 和 3D 变换可以应用于 iOS 控件吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:08:53 26 4
gpt4 key购买 nike

我以前从未真正使用过 iOS 开发过,我正在研究使用标准 iOS 控件(例如文本字段、列表等)的可能性,并且想知道哪些转换可以应用于它们。

这些标准控件是否支持缩放、平移和旋转等二维变换?这些标准控件是否也支持 3D 变换,例如包含 z 轴的缩放、平移和旋转?

如果对任何一个问题的回答都是肯定的,那么存在什么“级别”的支持?例如,对于文本字段,如果我在 3D 坐标空间中对其进行变换,我是否仍可以在其中输入文本?

最佳答案

是的,而且很多。例如,UITextField 继承自 UIControl,继承自 UIView。这意味着您可以直接通过 View 的转换属性访问 View 的转换属性:

[myTextField setTransform:CGAffineTransformMake(a, b, c, d, x, y)];

或者对于 3D 支持,您可以访问 View 图层的变换属性以应用 CATransform3D:

[myTextField.layer setTransform:CATransform3DRotate(trans, theta, x, y, z)];

CATransform3D 定义如下,正如@Xman 指出的那样,您需要使用 #import <QuartzCore/QuartzCore.h> 导入 QuartzCore 框架。 ,以及在您的构建阶段链接到它。

struct CATransform3D
{
CGFloat m11, m12, m13, m14;
CGFloat m21, m22, m23, m24;
CGFloat m31, m32, m33, m34;
CGFloat m41, m42, m43, m44;
};
typedef struct CATransform3D CATransform3D;

在这两种情况下,您仍然可以在应用转换后与文本字段进行交互。

更多信息可以在 Apple's documentation 中找到.

关于iphone - 2D 和 3D 变换可以应用于 iOS 控件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18730186/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com