问题标签 [cgaffinetransform]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
424 浏览

iphone - 自动旋转会扭曲 iPhone 中的旋转视图

我使用基于视图的模板来创建我的应用程序,并在 shouldAutorotateToInterfaceOrientation 中返回 YES 以支持自动旋转。接下来,我添加一个方形 testView_ 对象(具有默认的自动调整大小设置),并在初始化时旋转它:

现在,每当我旋转 iPhone 时,testView_ 都会变形。是什么原因,如何纠正?每次旋转 iPhone 后 testView_ 的宽度和高度都会发生变化,即使它不应该被自动调整大小(只有在 testView_ 最初旋转时才会发生这种情况)。

0 投票
1 回答
7048 浏览

iphone - 在 iPhone 中旋转后 UIView 框架的奇怪行为

创建一个方形 UIView 对象 testView_,并将其添加到 viewDidLoad:

我在控制台中收到这个:

我无法弄清楚帧值变化背后的逻辑,尤其是最后一个。任何人都可以启发我吗?谢谢。

0 投票
1 回答
8965 浏览

cgaffinetransform - 如何将 CGAffineTransform 转换为 CGTransform3D?

如何将 CGAffineTransform 转换为 CGTransform3D?

我使用 UIImagePickerController 作为相机控制器。我在相机视图的上方添加了一个 3d 图层。

然后当我想将 3d 模型添加到 3d 层时。我必须设置 3d 场景 campera 投影矩阵。和模型视图矩阵。

但 UIImagePickerController 只有一个 CGAffineTransform 。

0 投票
1 回答
1277 浏览

iphone - 使用 CGAffineTransformTranslate 时的持续时间

我正在使用 CGAffineTransformTranslate 移动视图并希望减慢移动速度。我尝试使用 [UIView setAnimationDuration] 但它没有做任何事情,文档不鼓励在 iOS 4.0 及更高版本中使用它。

设置持续时间的正确方法是什么?

谢谢,

约翰

0 投票
0 回答
656 浏览

iphone - CGAffineTransformMakeScale and CoreGraphics

I've got a UIView overriding the drawRect: method.

Now, when I'm doing

#xA;

everything scales; the view itself as well as everything drawn on it.

But now I would like to only scale specific things drawn on it. Is it possible to draw to e.g. draw to two different layers and then scale only one specific layer?

Unfortunately, it's no option to take different views - that's performing a lot worse, I tried... (large UIScrollView with view above it, draw in the view above scrollView - scrolling is slow then - but if I draw to the UIScrollView directly, it performs good).

Thanks a LOT!

EDIT The second approach:
- UIWindow
-- UIView
--- UIScrollView <== this view should NOT resize in Transformation
---- UIView <== here, I draw some things on with CoreGraphics <== should be resized in Transformation

The view with core graphic objects on it has the same size as the UIScrollView.contentSize and always gets setNeedsDisplayInRect when the scrollview is scrolled... but for me, it's much slower...

0 投票
5 回答
41411 浏览

iphone - CGAffineTransform 重置

3我有一个可以通过触摸操作的图像。

可以说它是一个向上的箭头图像。在它旋转 180 度后,箭头现在指向下方,我想重置 CGAffineTransform 属性,以便它认为它现在转回 0 度。

我想要这个,因为无论图像的角度是 0 还是 180,我都必须平移、旋转、缩放等。

提前致谢。

已编辑 Ater 5 回复:

嗯,我不确定这些答案是否符合我的要求。我很抱歉没有说清楚。

  1. 带有向上箭头的图像被触摸并向右移动 - 一切都很好。
  2. 使用旋转手势旋转图像并旋转 180 度 - 一切都很好
  3. 图像现在被触摸并向右移动 - 由于坐标是颠倒的,现在图像上下跳跃,使我的其他动画序列变得混乱。

为了防止上述问题和其他一些问题,我想在旋转 180 度后重置所有内容。例如,一旦图像旋转 180 度,CGAffineTransform 属性就知道它已旋转 180%。我想在那个时候重新设置属性,所以 CGAffineTransform 认为它的转角是 0 度而不是 180 度,即使图像在视觉上是颠倒的。我希望这发生在没有任何视觉变化的情况下,只要它旋转到 180 度。

希望这更清楚......

0 投票
0 回答
697 浏览

ios - touchesMoved 中的图像旋转使用 CGAffineTransformMakeRotation 来回擦洗将 fps 降低了一半

在 3D 游戏中,经过优化后,我在 iPad2 上达到了 60fps,主运行循环在辅助线程中,界面构建器在主线程上构建 UI,(这个问题是关于主线程的 UI)

我在使用触摸交互的 UI 中有两个控制器、一个油门加速器和一个用于滚动的摇杆,您可以在下图中看到摇杆。

正如您可以从这张图片中想象的那样,它具有 180 度的旋转运动

在此处输入图像描述

如果我运行游戏,然后用我的拇指在这根棍子上来回擦洗,(从 0 度到 -180 度疯狂滚动)fps 下降到 33fps 而不是 60fps ..

只需从下面的代码清单中注释掉下面的这一行,就可以将 fps 恢复到 60fps,(我用拇指擦洗,游戏确实在滚动,但是这根棍子的图像当然不会移动)所以可以玩在不更新此棒的图像的情况下以全 fps 进行游戏,(表明仅此例程)使用此方法对图像的更新和转换极大地影响了我的 fps。看看下面的这段代码,你认为有办法解决这个性能问题吗?(否则我将不得不有一些通用的圆形区域,只有一个圆圈代表触摸区域,以给出你在一些游戏中看到的滚动的概念,比如我认为无限刀片......但我更希望有这个交互式图像显示真正的目的。你看到我遗漏了什么吗?需要改变吗?会更好吗?

这是设置的 viewController 中的相关代码,“joypad”是您在上面看到的图像,油门是不同的图像,它会影响 fps,但不会影响到上面的单个调用,因为油门是只是将图像移动到正确的位置,而不是使用这个 CGAffineTransformMakeRotation。但该操作确实将 fps 降低了约 8fps。

0 投票
2 回答
4638 浏览

iphone - CGAffineTransformation 设置锚点?

我对某事感到好奇。在我的应用程序中,我正在运行一个动画,其中视图被调整了一点。我正在创建这样的转换:

但是,当我将这种转换应用到我的视图并观察它运行时,它会从顶部调整大小并向底部收缩。我想要的是它在所有方面均匀调整大小并向中心收缩,就好像“锚点”在中心一样。你知道我在说什么?这可能吗?

0 投票
1 回答
335 浏览

iphone - 使用 alpha = 0 旋转 UIView

我有一个使用以下代码旋转的 UIView:

其中 degreeToRadians 只是一个将度数转换为弧度的宏。

只要视图可见,就可以正常工作,例如 alpha = 1。当我隐藏它(alpha = 0,我制作动画)时,它不再旋转。我想这是设备“节省”绘图时间的一种聪明方法,但有什么方法可以强制绘制它,即使 alpha 为 0?否则我将不得不在再次显示之前旋转它。

有什么好主意吗?

谢谢

编辑:这是我用来显示/隐藏视图的代码。

如您所见,我还缩放它以获得更好的效果。可见时工作完美,当 alpha = 0 时不旋转。旋转是在另一种方法中完成的,我更愿意保留它,因为我还在那里旋转了一些其他视图。

0 投票
1 回答
579 浏览

iphone - 如何在滚动视图中旋转然后缩放图像?

我想在使用 CGAffineTransformMakeRotation 旋转图像后缩放图像。当我只是在 viewForZoomingInScrollView 中传递图像视图时,一旦我旋转了我的图像,缩放就不起作用了。有什么想法吗?谢谢。