iOS 将 UIView 与 XZ 平面平行对齐

发布于 2024-11-28 01:55:36 字数 313 浏览 0 评论 0原文

我意识到默认情况下 UIView 与 XY 平面平行,Z 轴直接指向您。

如何旋转此 UIView 使其与 XZ 平面平行?我想我必须使用 CATransform3D 但不确定我应该给它什么角度? M_PI_2 或-M_PI_2 ?

有人有什么想法吗?感谢您的帮助...

编辑:我知道通过这样做,UIView对用户将不可见,但我想设置一个特定的UIView 这样 &然后在上面做一些旋转动画。所以这就是我想要的..

I realize that by default a UIView is parallel to the X-Y plane, the Z-axis coming straight at you.

How do I rotate this UIView so that it is parallel to X-Z plane? I think I have to use CATransform3D but am not sure what angle I should give it? M_PI_2 or -M_PI_2 ?

Anybody has any idea? Thanks for help...

EDIT: I know that by doing this, the UIView will not be visible to the user, but I want to set a particular UIView this way & then do some rotation animation on it. So this is what I want..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

櫻之舞 2024-12-05 01:55:36

您可能想要做的是将转换应用于视图的支持层。 UIView 上的 transform 属性是仿射变换,不允许任何 3D 操作。但是访问 view.layer.transform 您将拥有一个完整的 4x4 矩阵来满足您的转换需求,从而允许漂亮的时髦 3D 内容。

  1. QuartzCore.framework 添加到您的目标。
  2. 导入 以访问 CALayer API。
  3. 代码远离。

例如:

// Rotate 1/4 by the Y-axis.
myView.layer.transform = CATransform3DMakeRotation(M_PI_2, 0.0f, 1.0f, 0.0f);

WHat you probably want to do is to apply a transformation to the view's backing layer. The transform property on UIView is an affine transformation, not allowing any 3D manipulation. But accessing view.layer.transform you have a full 4x4 matrix for your transformation needs, allowing nice funky 3d stuff.

  1. Add QuartzCore.framework to your target.
  2. Import <QuartzCore/QuartzCore.h> to get access to the CALayer API.
  3. Code away.

For example:

// Rotate 1/4 by the Y-axis.
myView.layer.transform = CATransform3DMakeRotation(M_PI_2, 0.0f, 1.0f, 0.0f);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文