这两个属性理解起来有点绕,才开始的时候确实饶人。但是经过一段时间之后,我给总结了两句话:bounds与frame是相对的,用frame时,把父视图的原点看做(0, 0);而用bounds时把子视图的原点看做(0, 0)。
用frame时,把父视图的原点看做(0, 0)。即改变该视图相对于父视图的位置和大小,影响的是自身的位置和大小。
用bounds时把子视图的原点看做(0, 0)。即可以把子视图的原点看做(0, 0),父视图的原点位置不变,移动(0, 0)即子视图的原点,使父视图的原点变成你输入的坐标。
bounds:改变bounds,改变的是该视图子视图所参考的坐标体系,位置(x,y)影响的是子视图的位置(改变了自身的坐标原点);大小(width,height)影响的是自身视图的大小(以该视图的中心点为参考标准(即改变bounds中心点并不变化))