您的位置:首页 > 产品设计 > UI/UE

UIVIEW 的旋转与缩放以及同时应用两种效果(二)

2015-08-07 00:58 423 查看
转载自:http://www.travelchu.com/2014/08/13/uiview-%E7%9A%84%E6%97%8B%E8%BD%AC%E4%B8%8E%E7%BC%A9%E6%94%BE%E4%BB%A5%E5%8F%8A%E5%90%8C%E6%97%B6%E5%BA%94%E7%94%A8%E4%B8%A4%E7%A7%8D%E6%95%88%E6%9E%9C%EF%BC%88%E4%BA%8C%EF%BC%89/

在UIView
的旋转与缩放以及同时应用两种效果(一)中,我们介绍了对UIView进行缩放与旋转的几种方法,这篇文章讲继续这些方法的具体应用的探讨。

我们考虑这样一种需求:对UIView同时进行缩放和旋转(以0.5倍等比缩放和45度旋转为例)。


在我自己的实践中,最开始的想法很简单,CGAffineTransformMakeScale(0.5, 0.5)进行缩放,接着使用CGAffineTransformMakeRotation
(M_PI_2)进行旋转,问题马上出来了,view并不会在缩放的同时进行旋转,而是只应用了最后的旋转效果。


一番研究之后,找到了可行的解决方案,即:


分别使用CGAffineTransformMakeScale(CGFloat sx, CGFloat sy)和CGAffineTransform
CGAffineTransformScale(CGAffineTransform t,CGFloat sx, CGFloat sy)替换上面的两个方法,具体代码如下:

1

2

view.transform
=
CGAffineTransformScale(view.transform,
0.5,
0.5);

view.transform
= CGAffineTransformRotate
(view.transform,
M_PI_2);


到此,我们在缩放的同时旋转的目的已经达到,但探索的脚步还要向前,新的问题是:


如何移动应用了CGAffineTransform效果的view?

让我们在如何移动应用了CGAffineTransform效果的UIView里继续探讨
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: