在下面的程序中,无论我在CGAffineTransform(scaleX:Y:)的参数中输入什么值,我都会得到相同的绘制结果.
为什么会这样呢?
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.view.backgroundColor = .gray
}
override func viewWillAppear(_ animated: Bool) {
let scalingView = ScalingView(frame: self.view.bounds)
self.view.addSubview(scalingView)
}
}
import UIKit
class ScalingView: UIView {
let subview: UIView!
override init(frame: CGRect) {
subview = UIView()
super.init(frame: frame)
addSubview(subview)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func layoutSubviews() {
subview.backgroundColor = .white
let subviewSize = 100
subview.frame.size = CGSize(width: subviewSize, height: subviewSize)
subview.center = CGPoint(x: self.bounds.midX, y: self.bounds.midY)
subview.transform = CGAffineTransform(scaleX: 1, y: 1)
}
}
subview.transform = CGAffineTransform(scaleX: 1, y: 1)
subview.transform = CGAffineTransform(scaleX: 2, y: 2)
subview.transform = CGAffineTransform(scaleX: 0.5, y: 0.5)