简单的说</br>
<code>frame</code> 指的是这个<code>view</code>在它<code>superview</code>的坐标系的坐标和大小.
<code>bounds</code>指这个<code>view</code>在它自己坐标系的坐标和大小</div></br>
看官方的解释图片
通俗的说整个APP相当于一栋房子,而<code>frame</code>相当于窗户,窗户的位置是相对于墙壁来说的,但是<code> Bounds</code> 相当于窗户里面要显示什么内容的位置</br>
注意: 每个新建的<code> View</code>的<code> bounds</code>默认的 <code> ( x , y ) </code> 都是 <code> ( 0 , 0 ) </code>
但是: 如果是有导航条,且默认的控制器的<code> UIView</code>有子控件是继承<code> UIScrollView</code>的会在调用了<code> viewDidLayoutSubviews</code>这个方法中默认给这些子控件的内边距的顶部top增加导航条的高度也就是<code> 64 </code>
经过代码测试的出的结果:
结果表明:很明显的<code> Bounds</code>的<code> y </code> 值和内边距的<code> top </code>值发生了改变</br> 如何去掉这个功能,如果是代码创建的设置这个属性为<code> false</code>就可以了
//Swift 写法
self.navigationController?.automaticallyAdjustsScrollViewInsets = false
如果是<code> User Interface </code> 那么就去掉勾选