最近适配iOS11 遇到一个很奇怪的问题。tableview添加背景图片,要求图片跟随tableview滚动。(非headerview图片)
iOS11以下的版本都是insertSubview : atindex:0 。直接插入到index0的层级就好了。
但iOS11上无论怎么插入都会在tableview最上层,遮挡tableview的显示内容。
设置tableview的backgroundView能正确显示。但是图片不能滚动。然后将图片插入backgroundView的上面,依然不行。图片依然被添加到最上层。
解决方法如下:
[self.tableView insertSubview:bgImageView atIndex:0] ;
bgImageView.layer.zPosition = -1;
通过如此设置以后,就可以实现设置跟随滚动的背景图片而不用单独设置scrollview然后再添加背景图片和tableview。
iOS11中实现滚动背景图片的解决方案
在升级到iOS11后,开发者遇到一个新问题:无法使tableview的背景图片跟随滚动。以往通过insertSubview:atIndex:0方法在所有子视图下层插入图片即可,但在iOS11中,图片总是位于最上层遮挡内容。通过设置backgroundView虽然能让图片显示,但无法滚动。解决方案是使用layer.zPosition属性,将其设置为负值(如-1),这样图片就能正确地在tableview下方并随滚动显示了。
8179

被折叠的 条评论
为什么被折叠?



