ios将矩形视图控制器转换为圆形按钮

时间:2016-09-14 02:15:15

标签: ios objective-c

假设我有2个ViewControllers A和B.属性:

  • A是一个矩形(其高度>其重量)
  • B是矩形(其高度>其重量)

我想做以下过程:

  • 将A变为小(完美)CIRCLE
  • 将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) {
}];

0 个答案:

没有答案