Swift3 如何制作CGRect动画

Swift3 如何制作CGRect动画,swift3,ios10,Swift3,Ios10,我怎样才能创建这样的动画 override func draw(_ rect: CGRect) { let xPointRect = viewWithTag(1)?.alignmentRect(forFrame: rect).midX let yPointRect = viewWithTag(1)?.alignmentRect(forFrame: rect).midY let widthSize = self.viewWithTag(1)?.frame.size.wid

我怎样才能创建这样的动画

override func draw(_ rect: CGRect)
{

    let xPointRect = viewWithTag(1)?.alignmentRect(forFrame: rect).midX
    let yPointRect = viewWithTag(1)?.alignmentRect(forFrame: rect).midY
    let widthSize = self.viewWithTag(1)?.frame.size.width
    let heightSize = self.viewWithTag(1)?.frame.size.height
    let sizeRect = CGSize(width: widthSize! * 0.8, height: heightSize! * 0.4)

    let rectPlacementX = CGFloat(sizeRect.width/2)
    let rectPlacementY = CGFloat(sizeRect.height/2)
    let context2 = UIGraphicsGetCurrentContext()
    context2?.setLineWidth(2.0)
    context2?.setStrokeColor(UIColor.red.cgColor)
    context2?.move(to: CGPoint(x: (xPointRect! - rectPlacementX), y: (yPointRect! - rectPlacementY)))
    context2?.addLine(to: CGPoint(x: (xPointRect! + rectPlacementX), y: (yPointRect! + rectPlacementY)))
    context2?.setLineDash(phase: 3, lengths: dashArray)
    context2?.strokePath()


    context2.transform = CGAffineTransform(scaleX: 0.8, y: 0.8)
    UIView.animate(withDuration: 1.0, 
        delay: 0, 
        usingSpringWithDamping: 0.15, 
        initialSpringVelocity: 6.0, 
        options: .allowUserInteraction, 
        animations: { context2.transform = CGAffineTransform.identity },
        completion: nil)
}
我的当前代码无法工作,因为context2不包含member.transfer,因为它是CGRect


如何使这条线具有动画效果?有什么想法吗?

A
CGRect
不可见,所以我不明白您为什么要对其设置动画

我假设您想要为
UIView
的帧设置动画

可以在动画块中更改
ui视图
的许多属性。还有它的框架:

let view = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
someParentView.addSubview(view)
UIView.animate(withDuration: 2.5) {
    someUIView.frame = CGRect(x: 100, y: 100, width: 100, height: 100)

}

请描述您想要实现的目标。此描述是否足够?未添加任何描述。你想要实现什么?你有画线的动画吗?是的,这是我视图中的一条线。我想让它动画化,但我不能用context2替换sideA_TextField,因为CGRect没有成员。transform.Edit您的问题并重新措辞。你到底想要实现什么?你试过什么?你遇到了什么问题?Afaics您的问题与
CGRect
无关。嗯,帧不是以这种方式完全可设置动画的。精确地说,帧的边界不可设置动画,并且在动画过程的第一个实例中修改。但帧的原点确实会设置动画