回顾上集,我写了frame和bounds在x、y上的区别,以及简单的描述frame的width和height。这次,继续前集但又不同于前集。继续前集,我是想把bounds的width和height讲完。不同的是,我继续学习的时候看到一篇不同我之前看过的对frame和bounds介绍的文章,这也刷新了我的知识点。这些都是废话,接下来正式开始......
我看过一篇文章是这样写的,“frame、bounds和center三个属性是相互关联、相互影响的,其中一个属性发生变化,其他属性也会跟着变化。对于视图或者图层来说,frame并不是一个非常清晰的属性,它其实是一个虚拟属性,是根据bounds,position和transform计算而来,所以当其中任何一个值发生改变,frame都会变化。相反,改变frame的值同样会影响到他们当中的值。”
看到这段文字的时候,算了,还是实操吧!
let myView = UIView()
myView.backgroundColor = .blue
//描述当前界面元素在其父界面元素中的位置和大小。
myView.frame = CGRect(x: 50, y: 100, width: 300, height: 300)
//描述当前界面元素在其自身坐标系统中的位置和大小。
myView.bounds = CGRect(x: 0, y: 0, width: 200, height: 200)
//描述当前界面元素的中心点在其父界面元素中的位置
myView