【问题标题】:What change my layer position什么改变了我的图层位置
【发布时间】:2018-02-07 02:30:32
【问题描述】:

我有一个 TDHomeCollectionHeaderView,我在它的initWithFrame 中设置了 zposition=-999。但是我发现在 drawRect 中 zPosition 是 1。发生了什么?什么改变了我的图层位置? TDHomeCollectionHeaderView 是 UICollectionView 的 SupplementaryView。

    - (instancetype)initWithFrame:(CGRect)frame
  {
      self = [super initWithFrame:frame];
    if (self) {
        [self addSubview:self.imageView];
        [self addSubview:self.iconView];
        [self addSubview:self.label];
        self.userInteractionEnabled = NO;
        self.layer.zPosition = -999;
    }
    return self;
  }

   -(void)drawRect:(CGRect)rect
  {
   //here zposition is 1
    NSLog(@"TDHomeCollectionHeaderView %f",self.layer.zPosition);
  }

【问题讨论】:

  • //这里zposition为0 NSLog(@"TDHomeCollectionHeaderView %f",self.layer.zPosition);
  • @JRB 这里 zposition 是 1

标签: ios objective-c layer z-order


【解决方案1】:

这是一个雷达http://www.openradar.me/34308893。在这个 StackOverflow 回复中建议了一个更好的解决方法:“Set header view layer's zPosition in willDisplaySupplementaryView”。(UICollectionView fails to honour zPosition and zIndex - iOS 11 only)

【讨论】:

    猜你喜欢
    • 2017-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-30
    • 1970-01-01
    • 2020-11-14
    • 1970-01-01
    相关资源
    最近更新 更多