我正在尝试为视图中子视图的帧更改设置动画。在动画块中,我将子视图的大小设置为其原始宽度和高度的一半。但是,当我运行代码时,子视图意外地以更大的尺寸开始并缩小到其原始尺寸,而不是变成其原始尺寸的一半。我正在使用下面的代码:
我的自定义视图:
import UIKit
class TestView: UIView {
    var testSubview: UIView!
    override init(frame: CGRect) {
        super.init(frame: frame)
        backgroundColor = UIColor.yellow
        testSubview = UIView(frame: .zero)
        testSubview.backgroundColor = UIColor.red
        addSubview(testSubview)
    }
    required init?(coder aDecoder: NSCoder) {
        fatalError()
    }
    override func layoutSubviews() {
        super.layoutSubviews()
        testSubview.frame = CGRect(x: 0, y: 0, width: 100, height: 100)
    }
    func testAnimate() {
        UIView.animate(withDuration: 3, delay: 0, options: [], animations: { [unowned self] in
            self.testSubview.bounds.size = CGSize(width: 50, height: 50)
            }, completion: nil)
    }
}
我的视图控制器:
import UIKit
class TestViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
    }
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        let testView = TestView()
        view.addSubview(testView)
        testView.frame = CGRect(x: 0, y: 0, width: 200, height: 200)
        testView.center = view.center
        testView.layoutIfNeeded()
        testView.testAnimate()
    }
}
我做错了什么吗?