2

我已经按照我的要求实施了循环过渡

动画 UIView 过渡,例如将点扩展到圆圈

使用以下代码:

    -(IBAction)nextViewOpen
    {   
        NextViewVC *NextView= [self.storyboard instantiateViewControllerWithIdentifier:@"RBANextViewVC"];


        [NextView.view.layer setCornerRadius:25.0f];
        [NextView.view.layer setMasksToBounds:YES];
        NextView.view.frame=CGRectMake(100,120, 1, 1);
        [self.view addSubview:NextView.view];
        [self setRoundedView:NextView.view toDiameter:5];
        [UIView animateWithDuration:5.0 animations:^{

   ====== [self setRoundedView:NextView.view toDiameter:480]; ======

    }
                     completion:^(BOOL finished)
     {
         NextView.view.frame=CGRectMake(0, 0, 320, 480);
         NextView.view.layer.cornerRadius = 0;
     }
     ];
}



-(void)setRoundedView:(UIView *)roundedView toDiameter:(float)newSize;
{
    CGPoint saveCenter =roundedView.center;
    CGRect newFrame = CGRectMake(roundedView.frame.origin.x, roundedView.frame.origin.y, newSize, newSize);
    roundedView.frame = newFrame;
    //roundedView.layer.cornerRadius = newSize / 2.0;
    roundedView.layer.cornerRadius = roundedView.frame.size.width / 2.0;
    roundedView.center = saveCenter;
    roundedView.clipsToBounds = YES;
}

但它有一些问题

视图在动画过渡结束时变为完整的圆形,最初它没有完美的圆角

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

4

0 回答 0