把 UITableView 的 style 属性设置为 Plain ,这个tableview的section header在滚动时会默认悬停在界面顶端。 而UITableView 的 style 属性设置为 Grouped ,这个tableview的section header在滚动时不会在界面顶端。
适配代码参考
if (self.navigationController != nil) {
tableViewTopConstraint.constant = 0//距离tableview距离顶部高度
}else{
// 适配iPhone X
tableViewTopConstraint.constant = CGFloat(IPhone_StatusBarHeight)-20
}
menuTableView.delegate=self
menuTableView.dataSource=self
//menuTableView的类型是Plain的时候sectionHeaderView可以正常悬浮,menuTableView的类型是Grouped的时候sectionHeaderView不悬浮
效果图:
有导航栏的:
WX20171010-111220.png WX20171010-111207.png
无导航栏的:
WX20171010-111144.pngiPhone X的:
WX20171010-111420.png WX20171010-111429.png类型为Grouped时候效果:
类型为Grouped.png源码可以点击这里下载
因为最近作者在学习swift,所以使用的是swift,与oc相似度比较高,自己可以转化成oc的,原理都一样。
网友评论