问题标签 [cgaffinetransformscale]

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 回答
19336 浏览

ios - 动画增大/减小尺寸 imageView iOS

我正在尝试使用 CGAffineTransformMakeScale 为自定义按钮设置动画,如下所示:

按钮完美地增长到原始大小,但是,我不知道原因,但是当我单击按钮减小它时,它会从比原始大小大 100% 的大小减小到原始大小,而不是开始正如我在代码中指出的那样,原始大小的减小并达到 0.01 的比例。

请帮忙!!

0 投票
1 回答
551 浏览

ios - UIView 缩放变换导致输入丢失

我正在尝试显示第 3 方 UIView,它基本上包含带有一些可点击(可触摸)区域的图像。例如,它包含一个区域,单击该区域时会启动一个网页。我为此创建了一个 UIViewController,它应该将此 UIView 显示为全屏。我知道图像的宽度和高度,所以我需要缩放这个视图以适应全屏。

这是我的问题:当我尝试缩放图像时,子视图中的可点击区域不再可点击。

这是我进行缩放的方式:

在进行转换时,所有的触摸现在都转到我的视图控制器,而不是那个子视图。现在我不能点击任何东西。如果我不进行转换,或者我进行了转换但使用身份,一切正常,但它没有按我想要的方式缩放。当我变换时,它可以正确缩放,但触摸不起作用。

如果我尝试检测视图控制器上的触摸,我能够接收到触摸事件。但我不知道如何将触摸事件转发到第三方视图。

有什么建议么?

0 投票
1 回答
607 浏览

ios - CGAffineTransformTranslate 和 CGAffineTransformScale 之后的 UIPoints 不正确

我正在使用Ray Wenderlich 的教程中分享的想法使用 UIKit 开发简单的绘图应用程序。不同之处在于我需要实现一个功能,以便我可以缩放/缩放到我的绘图并绘制更细的线条。我可以使用 CGAffineTransformScale 放大(当然还有 UIPinchGestureRecognizer)并使用 CGAffineTransform 在 UIImage 周围移动 - 问题是一旦放大检测到的 UITouch 点,实际的触摸点就会有很大的偏移。随着我不断缩放图像,这个偏移量变得更大。

在代码中

drawingImage - 用户与
SavingImage 交互的一个 - 保存绘制的线条
transform_translate - CGAffinetransform
lastScale - CGFloat 保存最后一个缩放比例值
lastPoint - CGPoint 保存最后一个触摸点
lastPointForPinch - CGPoint 保存最后一个捏点

捏合手势在 viewDidLoad 中初始化为 -

UIPinchGesture 检测的方法是——

画线的方法(仅供参考,这是取自上述教程的一个相当标准的过程,如果我在这里犯了一些错误,可以把它放在这里) -

我试过做 CGPointApplyAffineTransform(point, transform_translate) 但巨大的偏移量仍然存在。

希望我的问题得到了清楚的解释,有人可以帮助我。我一直在努力在这方面取得进展。提前致谢

0 投票
2 回答
4245 浏览

ios - 角半径上的 CGAffineTransformMakeScale 动画圆形 UIButton

我正在舍入一个 UIBUtton,这很好(self 是一个 uibutton 子类):

但我也在尝试为按钮设置动画以缩小比例然后返回原始大小,如下所示:

收缩/恢复动画按原样发生。但是,之后我失去了圆角半径,按钮又回到了正方形。如何在保持圆形按钮的同时设置动画和更改变换比例?

我也尝试过以下方法。它会在动画结束时将按钮恢复为圆形状态,但是在动画开始时有几分之一秒的时间它会回到正方形,看起来很糟糕:

编辑:我需要动画代码和四舍五入的按钮代码,都发生在子类按钮中。当按钮被触摸时,它需要在按钮类内部发生(即,在视图控制器中不能有用于对按钮进行舍入或调用动画的代码)。

使用明确的解决方案进行编辑:我不知道为什么会这样,但以下建议的一部分似乎可以解决问题。我将动画方法添加为 UIControlEventTouchDown 的自定义按钮上的操作。我删除了控制事件动作,而是从子类按钮类中的 -(void)touchesBegan.... 调用动画方法,一切似乎都工作正常。不知道为什么会这样。如果有人知道为什么会这样,希望在评论或其他内容中进一步澄清/解释。再次感谢@Shan 的帮助

0 投票
0 回答
241 浏览

objective-c - iOS 为什么我在集合视图单元格中的 UIImageView 无法正确响应缩放变换?

我有一个 UICollectionViewCell 里面有一个图标。我希望单元格能够直观地表明用户已经点击了它。

我正在尝试UIView's animateWithDuration:将图标的变换缩放 1.2 以使其更大,然后将其设置为标识以使其成为原始大小。我以前在常规图像上使用过这样的代码,它似乎工作。

我得到奇怪的行为,其中单元格内的图像按比例放大,就好像它被左上角固定一样。但是,当它缩小到同一性时,它会像从中心缩放一样(正如您所期望的那样)。结果是图像中心在两个动画之间从一个位置到下一个位置发生了令人不快的移动。

如何在 UICollectionViewCells 中正确缩放图像?

0 投票
1 回答
3905 浏览

ios - Setting affine transform on NSView layer not working as on iOS

I am trying to achieve something very simple. I would like to transform a layer's scale. However it does not seem to work as expected. In fact, it does not work at all. The layer's scale remains the same.

Here is my code:

If I log the affineTransform property of v I get null.

0 投票
1 回答
546 浏览

ios - CGAffineTransformScale 图像质量问题

我有一个通过 UIPinchGesture 缩小的视图。该视图的子视图是带有关联图像的 UIImageView。问题在于,当图像缩小到原来较大尺寸的 1/4 左右时,它似乎会显着影响图像的质量。

我很好奇是否有一种方法可以解决此问题,而无需在按比例缩小时以更改后的大小重新绘制图像。

0 投票
1 回答
5405 浏览

ios - 如何使用 CGAffineTransform 比例并同时翻转

我正在尝试使用CGAffineTransform. 缩放效果很好,但是这些点使用左上角作为(0,0)而不是左下角。像这样...

倒置图

通常我会简单地使用CGAffineTransformMakeScale(1,-1);,但因为我已经在执行比例,所以我不能将它添加到现有的转换中。

这是我当前的代码

0 投票
1 回答
480 浏览

ios - 通过 CGAffineTransformMakeScale 缩放自定义 UIView 打破了 touchesMoved 的拖动

我已经准备好并在 GitHub 中检查了一个用于拖动自定义的简单测试用例UIView

应用截图

它运行良好,并且在Tile.m中实现了拖动:

但是,对于我的实际游戏来说,这些图块太大了(UIScrollView无论如何,一旦游戏板被放大,我就必须调整它们的缩放比例):

应用截图

UIView所以我通过调用来缩小我的自定义

大小会发生变化,但瓷砖会根据需要突然“以两倍的速度”拖动:

应用截图

可能touchesMoved应该调整代码(上面的代码),但我不确定transform操作破坏了什么?

0 投票
1 回答
296 浏览

ios - 父视图的 CGAffineTransformScale 上的 UIButton 位置问题

我有一个UIView缩放、平移和旋转,并UIButton添加了一个作为子视图,(0,0)宽度和高度为50px.

此按钮用作编辑功能的触发器。我遇到的问题是,当我缩放添加到它的UIViewusing以使其缩小时,我反转了 the 上的变换,使其大小保持不变。UIPinchGestureRecognizerUIViewUIButton

然而,由于UIView比例变化,它导致UIButton框架延伸到 parent 之外UIView。这会使部分按钮无法点击。我想让按钮留在 parentUIView中,始终固定在其原点,就像添加时一样,我该怎么做?

我在UIPinchGestureRecognizer下面添加了处理程序代码。

提前致谢。