现象:在iOS11系统上,UICollectionView
的section headerView会被scrollIndicator遮挡,iOS10或iOS10以前系统则没有问题。
iOS 11:
iOS 10:
解决方案
- 创建一个CALayer子类,重新
- (CGFloat)zPosition;
方法并返回0; - 重写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版本解决该问题。