iOS 9 авто-макеты и макеты Subviews отличается от iOS 8<

iOS 9 не загружает autolayout в layoutSubviews(), как должно..

Я пытаюсь добавить тень под видом (контейнером) в свой пользовательский uitableviewcell, который хорошо работает на iOS 8, но не на iOS 9. Но он работает, когда я прокручиваю таблицу и начинаю повторное использование ячейки.

//DidMoveToSuperview is required
- (void)didMoveToSuperview{
  [super didMoveToSuperview];

  [self setNeedsLayout];
  [self layoutIfNeeded];
}  

- (void)layoutSubviews {
  [super layoutSubviews];

  NSLog(@"container bound: %@", @(self.containerView.bounds.size.width));
  NSLog(@"cell width: %@", @(self.frame.size.width));

  UIBezierPath *shadowPath = [UIBezierPath bezierPathWithRect:self.containerView.bounds];
  self.containerView.layer.masksToBounds = NO;
  self.containerView.layer.shadowColor = [UIColor blackColor].CGColor;
  self.containerView.layer.shadowOffset = CGSizeMake(0.0f, 5.0f);
  self.containerView.layer.shadowOpacity = 0.5f;
  self.containerView.layer.shadowPath = shadowPath.CGPath;
}

Первый журнал: ширина границы контейнера на iOS 8 в порядке, iOS 9 не в порядке

2-й журнал: ширина ячейки в порядке на iOS 8 и 9

Любая подсказка?

0 ответов

Другие вопросы по тегам