导航条是否隐藏。
导航条是否透明。
抓住以上两个特征作为出发点,应对各种疑难杂症。
透明是从screen顶部算。view的高度就是屏幕的高度。为了不被盖住,同时又能穿透,就引入了autojust属性,自动给scroll设定了边距。让内容从边距外开始,又在scrollview的可视bounds范围内。
不透明的,是从导航条以下算,view的原点是0,64,iphonex是0,88,高度已经去掉了导航条的高度。
scrollview边距特性:ios10vc控制,ios11 scrollview控制,属性的默认值都是自动带边距的。
vc的默认是automaticallyAdjustsScrollViewInsets 是YES
ScrollView的contentInsetAdjustmentBehavior默认是UIScrollViewContentInsetAdjustmentAutomatic
没有导航条,20的inset(包括scrollIndicatorInsets); iphonex上inset是44
有透明导航条,inset 是64, iphonx上inset是88
有不透明导航条,inset是0
不透明情况下默认不会有问题,如果强制设置了边距edgeinset,就会导航条下方空出64的空白。显然不对。
tabbar和导航条计算规则一样。
网友评论