假设我有2个ViewControllers A和B.属性:
我想做以下过程:
将A移动到屏幕的右下角,如下所示:
____
| |
| |
| |
|___O| about 9/10 of the height and of the width
(两个操作可以同时完成,没有问题。
为了将A传递给B,我从A的屏幕上打印出一张照片,并通过一个segue传递给B作为UIImage。
然后B立即显示A.这样我就从A迁移到B.
问题是:如何将A UIImage(矩形)转换为完美的圆圈并移动到B中的某个给定位置(使用animateWithDuration)?我无法将其转换为完美的圆形(仅使用cornerRadius),并且在进行CGAffineTransformMakeScale操作后无法正确移动它。
PS:在执行这些操作之前,我将UIImage转换为UIImageView。
这是我的动画代码
//imageTestte is the UIImageView
self.imageTestte.layer.masksToBounds = TRUE;
_imageTestte.layer.cornerRadius = _imageTestte.bounds.size.width/2;
CGFloat h = _imageTestte.frame.size.height;
CGFloat w = _imageTestte.frame.size.width;
CGRect r = CGRectMake(0, 0, w, w);
[UIView animateWithDuration: 2 delay:0 options:UIViewAnimationOptionCurveLinear animations:^{
//_imageTestte.bounds = r;
//this line above is to turn it to a square
_imageTestte.transform = CGAffineTransformMakeScale(0.15f, 0.15f);
_imageTestte.center = CGPointMake(self.view.frame.size.width * (9.0/10.0), self.view.frame.size.height* (9.0/10.0));
} completion:^(BOOL finished) {
}];