例如:首页控制器的view的第一个子控件是scrollView(添加子控制器视图tableview),并且首页控制器包裹了导航控制器和TabBarController,因此,scrollView的内容上边被挤下来64,下边被挤上去49.code
automaticallyAdjustsScrollViewInsets = NO;
通过这个,ScrollView的内容(tableView)确实上移了,可是仍是预留了20,这个是时候经过打印知道tableView的y值是20,height = 667 - 20 = 647;
4. 设置tableView的 y = 0.
5. 设置tableView的height = scrollView.height;
这个时候就实现了tableView的可视范围为整个scrollView.换句话说tableView和scrollView彻底重合.blog
可是
新的问题出现了:新的问题出现了:这个时候的tableView和scrollView彻底重合,tableView中的内容(在这里是cell,若是有tableHeaderView的话就包括tableHeaderView)和tableview彻底重合.那么就会有一部分cell被导航控制器以及titleView挡住.当下拉下来之后,松手就由弹上去了.内容被遮挡.一样底部也会被TabBar挡住it
scrollView.contentInset = UIEdgeInsetsMake(64 + 35, 0, 49, 0);
到如今为止完成了全部步骤:
1.经过改变tableView的frame --以及让系统不要自动调整scrollView的内边距让tableView的可视范围为占据整个scrollViewio
2.经过设置tableView的内边距,让tableView中的全部cell均可以显示,即往下走一个导航栏的高度.table
之前介绍tableView的重要属性内边距scroll
a.没有cell b.没有contentInset c.没有tableHeaderView、tableFooterView
a.没有cell b.没有contentInset c.有tableHeaderView、tableFooterView
a.有cell b.没有contentInset c.没有tableHeaderView、tableFooterView
a.有cell b.有contentInset c.没有tableHeaderView、tableFooterView
a.有cell b.没有contentInset c.有tableHeaderView、tableFooterView
a.有cell b.有contentInset c.有tableHeaderView、tableFooterView
a.有cell b.没有contentInset c.没有tableHeaderView、tableFooterView d.有额外子控件{0,-40,375,40}
a.有cell b.没contentInset c.没有tableHeaderView、tableFooterView d.有额外子控件{0,-40,375,40}
a.有cell b.没有contentInset c.有tableHeaderView、tableFooterView d.有额外子控件{0,-40,375,40}
a.有cell b.有contentInset c.有tableHeaderView、tableFooterView d.有额外子控件{0,-40,375,40}