1、UITableViewWrapperView是cell的父视图,tableView的子视图,位于cell与tableview之间,cell的frame与UITableViewWrapperView是相同的。
2、navigationController的automaticallyAdjustsScrollViewInsets默认为YES,而该属性为YES时会自动对controller(即self.view)上第一个子视图(包括scrollview或tableview直接作为第一个子视图的情况) 上的UIScrollview(UITableView也属于UIScrollerview)自动下移bar的高度(一般为情况下为64(即导航栏的高度),但有些情况下不是64,比如打电话)(只会对第一个子视图上的scrollview自适应发生下移,如果在添加scrollview之前已经添加了别的视图就不会发生下移)。
因此,当把UIScrollview或UITableView添加到controller的第一个子视图上,或者其直接作为controller的第一个子视图时不需要考虑导航栏。
ios11之后变成了scrollview的属性,将scrollview(tableView)的contentInsetAdjustmentBehavior属性设为UIScrollViewContentInsetAdjustmentNever即可。
//具体代码
_tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
网友评论