iOS11 UICollectionView的header被scrollIndicator遮挡问题

现象:在iOS11系统上,UICollectionView的section headerView会被scrollIndicator遮挡,iOS10或iOS10以前系统则没有问题。

iOS 11:

iOS11.gif

iOS 10:

iOS10.gif

解决方案

  1. 创建一个CALayer子类,重新- (CGFloat)zPosition;方法并返回0;
  2. 重写SectionHeaderView的+ (Class)layerClass;方法;并返回前一步中自定义的layer;
@interface HLTagCollectionHeaderLayer : CALayer
@end

@implementation HLTagCollectionHeaderLayer
- (CGFloat)zPosition {
    return 0;
}
@end

@implementation HLTagCollectionHeaderView
+ (Class)layerClass {
    if (@available(iOS 11.0, *)) {
        return [HLTagCollectionHeaderLayer class];
    }
    return [super layerClass];
}
@end

经测试该问题在iOS 11.1.2以下版本上才有,苹果已经在iOS11.1.2版本解决该问题。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容