tableHeaderView从xib加载时frame设置问题
tableView
的tableHeaderView
从xib加载时,使用xib加载的默认尺寸,而不设置frame。当tableView
还有个sectionHeader
时,tableHeaderView
在iOS12上显示正常,但在iOS10、11中,tableHeaderView
会覆盖cell,并且sectionHeader
会显示在tableView
的最上面。而给tableViewHeader
视图设置frame时,小屏幕上往往要设置远大于实际需要高度才能正常显示。
解决方法:给tableView
创建一个UIView作为tableHeaderView
,设置正确的frame,并把xib加载来的视图作为子视图放到这个自定义的view上即可(设置frame
为tableHeaderView
的bounds
)。