iOS Assertion failure in [MyClass layoutSublayersOfLayer:]

// 某自定义的view的layoutSubviews方法

- (void)layoutSubviews

{

  [super layoutSubviews];

  // 执行完[super layoutSubviews]后,写约束代码,在iOS7下会崩溃,报  Assertion failure in [MyClass layoutSublayersOfLayer:],iOS8下则是正常的。

}

修改方法,把[super layoutSubviews];放在后面,像下面这样

- (void)layoutSubviews

{

  // 自定义约束的代码

  [super layoutSubviews];

}

有时,在自定义view里给subview写约束代码,需要拿到self.width或self.height,所以只能在在layoutSubviews里写约束

posted @ 2015-08-09 11:43  oumygade  阅读(511)  评论(0编辑  收藏  举报