override func viewDidLoad() {
super.viewDidLoad()
let view1 = UIView(frame: CGRect(x: 20, y: 80, width: 280, height: 280))
view1.backgroundColor = UIColor.red
self.view.addSubview(view1)
let view2 = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
view2.bounds = CGRect(x: -40 ,y: -20, width: 200, height: 200)//设置视图本地坐标系统中的位置和大小,它会影响子视图的位置和大小
view2.backgroundColor = UIColor.yellow
self.view.addSubview(view2)
let viewSub = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
viewSub.backgroundColor = UIColor.blue
view2.addSubview(viewSub)
}
frame是相对于父视图而言,bounds则是相对于自身的视图。bounds默认为(0.0)。简言之,如果改变bounds,可以理解为给这个起点重命名。如上例中,view2的bounds设置为(-40,-20),则他的子视图将向右下方向移动。