问题标签 [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 投票
2 回答
3575 浏览

iphone - 我不明白 CGAffineTransformTranslate 为什么/如何工作

我正在创建一个视图并让它从左到右移动到屏幕上。我很难让它以我想要的方式工作,但当我这样做时,我对它的工作方式感到困惑。

我想我必须在屏幕左侧创建视图,然后使用 CGAffineTransformTranslate 将其移动到屏幕上。但相反,我在屏幕上创建它,但它仍然很好用。我有点困惑。

在这里,我正在创建视图...

如您所见,原点是 0,0。所以在屏幕上,对吧?

这是转换...

如您所见,我将 tx 值设置为 CGAffineTransformTranslate 的宽度,我认为这是您希望它从当前位置移动的像素数的值,origin.x 为 0,我预计会将其移动到屏幕中间某处。相反,它会在我想要的 0 处使用它的新 origin.x 直接滑入。

顺便说一句,CGAffineTransformIdentity 非常适合将视图从屏幕上滑出。

谁可以给我解释一下这个。文档似乎说了些不同的话。

谢谢,

约翰

0 投票
1 回答
513 浏览

ios - 防止 CGAffineTransform 增量应用

我正在使用 CGAffineTransformRotate 和 CGAffineTransformTranslate 在屏幕上为汽车图像 (UIImageView) 的进度设置动画。动画由 UISlider 控制,因此当用户前进滑块时,汽车会前进并绕过拐角。对于 UISlider 上的每个点,我需要能够为汽车的 CGAffineTransformRotate 和 CGAffineTransformTranslate 属性设置一个绝对值。

然而,每次调用变换时,汽车图像都会被增量变换。因此,例如,如果我在滑块点 0.01 处使用它:

这在滑块点 0.02 处:

当滑块值为 0.02 时,我希望汽车处于 10 度,x 值为 8,y 值为 -20。但是,我得到的是 15 度的汽车,x 值为 12,y 值为 -30。它将我的第二次转换应用于第一次转换后得到的值。

如何将每个转换应用于我的汽车 UIImageView 的基本值?即我希望每个转换都是基于未转换的 UIImageView 的绝对转换。我不希望转换是增量的。

0 投票
1 回答
1601 浏览

ios - 捏拉缩放UILabel

我正在处理捏合手势,并且正在缩放UILabel如下:

问题是当我放大(使标签变大)时,它不会重新绘制自己,即它变得模糊。我怎样才能让它再次锋利?

0 投票
1 回答
5903 浏览

iphone - 方向改变时将图像在同一位置旋转 90 度

最终这样做: 支持多方向的最简单方法?当应用程序处于横向时,如何加载自定义 NIB?效果很棒!

我在 Photoshop 中制作了一张图像,我想将其用作 iPad 应用程序中信息屏幕的背景。该图像还包含文本和一些图标。在图像周围,我有一个绿色的边框。

我想要达到的效果是:

当用户从纵向转向横向时,我希望图像(仅框架和图标)旋转 90 度,以便图像以横向模式显示,而不是在横向模式下获得框架的纵向视图。文本和图标是解耦的(我在不同的 UIImageView 中组织了不同的层)它们应该旋转 90 度。

我已经做的是以下内容:

用这个方法做了一些实验:

并尝试这样做:

我认为这会将 btnFacebook 属性向右旋转 90 度(如果我错了,请纠正我),因为它指定了正弧度。我似乎无法让它正常工作。这不应该将按钮围绕框架中的中心坐标旋转 90 度吗?这不会导致按钮位置发生变化(按钮是方形的)?

编辑

做了一张图:

在此处输入图像描述

由于图像显示图像背景(其上的一些自定义图形在两个方向上看起来都不错)从纵向变为横向并旋转,因此它不会在横向中显示为纵向,图标与背景分离,因此它们需要旋转为好吧,因为它们需要处于正确的方向(这是社交图标)。然而,文本位于同一位置,它仅旋转 90 度而不重新定位。

0 投票
1 回答
1558 浏览

ios - iOS 2D 变换:要使用的库

我必须在 iOS 下执行一些 2D 变换。我知道您可以使用 UIView 的 transform 属性来应用转换,所以我假设某处有一些可以调用的优化代码。但是我也很确定这些东西是在 openGL 之上的,所以......

我可以用什么在 iOS 上进行一些简单的转换(快速)?我只需要平移和旋转点。

0 投票
3 回答
3087 浏览

xcode - UIImageView 动画旋转

我想在按下按钮(360度)后围绕他的中心顺时针旋转一个UIImageView......它应该是一个动画......所以它得到了一个方向盘,它应该自己旋转对用户可见......

我看到有很多方法可以做到这一点,但没有什么对我有用...... :-)

CABasicAnimation,我必须为此添加一个框架吗?

有人可以给我一个示例代码,用于将 UIImageView 围绕其中心旋转(360 度)有效吗?!?

先感谢您

0 投票
2 回答
5396 浏览

ios - 将转换应用于 UITextView - 防止内容调整大小

当我对 a 应用旋转变换UITextView然后单击内部开始编辑时,似乎内容大小会自动变宽。内容视图的新宽度是旋转视图边界框的宽度。例如,给定一个宽度为 500 和高度为 400 的文本框,并旋转 30 度,新的内容宽度将是:

或以图形方式:

在此处输入图像描述

有趣的是,如果您已经在编辑文本视图然后应用转换,那么似乎没有对内容大小进行任何修改。因此,似乎在文本编辑开始的某个时候,文本视图会查看其frame属性并根据框架宽度调整内容大小。我想解决方案是告诉它使用该bounds属性,但是我不知道在哪里执行此操作,因为我不确定文本视图决定修改内容大小的确切位置。

我用谷歌搜索,但似乎找不到任何关于使用转换后的 UITextViews 的参考。有人对此有任何想法吗?

编辑(来自测试项目的按钮操作):

0 投票
1 回答
1591 浏览

iphone - CGAffineTransformMakeScale 和插入子视图

在我将 CGAffineTransformMakeScale(scale,scale)(例如 scale = 3.0)应用到视图之后 - 它的缩放正常。但是当我试图在缩放后以编程方式插入一些子视图时 - 子视图也缩放 3 倍 - 我不希望它被缩放。我做错了什么?

0 投票
1 回答
1630 浏览

iphone - 找到多个名为“-setTransform:”的方法

我收到了这个警告错误,它显示了多个名为 -setTransform: 的方法。它仅在我的头文件中有#import AVFoundation/AVFoundation.h 时出现。有什么建议么?谢谢

0 投票
2 回答
991 浏览

iphone - 使用 UISlider Xcode 的逻辑

我现在卡在 XCode 中控制 UISlider 了。我在 Interface Builder 中制作了一个水平滑块,并设法在 xcode 中对控件进行编码。现在我只是不确定如何编写逻辑。如果用户将笔尖向左滑动,我希望它逆时针旋转我的图像,如果用户向右滑动,则顺时针旋转图像。

我设置的滑块最小值为 0,最大值为 100。初始值为 50。

对于转换,我使用 CGAffineTransformMakeRotation(myAngle)。我已将 myAngle 设置为浮动。至于条件,这里有一段代码:

当我滑动笔尖时,它只会逆时针旋转。我可以使用的最佳逻辑是什么?希望有人可以提供帮助。谢谢。

-Hakimo