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里写约束

时间: 2024-10-06 12:30:09

iOS Assertion failure in [MyClass layoutSublayersOfLayer:]的相关文章

Assertion failure in -[UITableViewCell layoutSublayersOfLayer:]

近日做ios的autolayout时候在兼容ios6的时候遇到以下Assert,但在ios7和ios8上就运行良好 Assertion failure in -[UITableViewCell layoutSublayersOfLayer:], /SourceCache/UIKit/UIKit-2380.17/UIView.m:5776 required after executing -layoutSubviews. CategoryCell's implementation of -layo

Assertion failure in -[UIView layoutSublayersOfLayer:]

Assertion failure in -[UIView layoutSublayersOfLayer:], /SourceCache/UIKit/UIKit-2935.137/UIView.m:8803(ios7系统) 解决方法:重写对应UIView(假如上面的UIView是UIProgressView)的 layoutSublayersOfLayer 并且调用[self layoutSubViews]; 当当前UIView的子控件布局完自动约束后调用 layoutIfNeeded 例如这里

Assertion failure in UITableViewCell layoutSublayersOfLayer解决办法

iOS6 设备在更新UITableViewCell的时候遇到了 Assertion failure in -[UITableViewCell layoutSublayersOfLayer:], /SourceCache/UIKit/UIKit-2380.17/UIView.m:5776 的问题, 解决方法是,把UITableViewCell里面的控件的添加方式由 [self addSubview:self.titleLabel]; 改成 [self.contentView addSubview:

bug-Assertion failure in [MyClass layoutSublayersOfLayer:]

这是在iOS7上,tableview 的sectionHeaderView中报错 *** Assertion failure in -[****.****UITVSectionHeader_Team layoutSublayersOfLayer:], /SourceCache/UIKit/UIKit-2935.137/UIView.m:8794 libc++abi.dylib: terminate_handler unexpectedly threw an exception 解决方法:在其la

iOS Assertion failure in -[UITableView _classicHeightForRowAtIndexPath:]

Assertion failure in -[UITableView _classicHeightForRowAtIndexPath:], /SourceCache/UIKit_Sim/UIKit-3318/UITableView.m:10772 这问题是由于cell高度负数导致,去看看: - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

IOS之Bug--关于Assertion failure in -[UIApplication _runWithMainScene

出现的问题: 解决方式是将出现的bug信息Assertion failure in -[UIApplication _runWithMainScene....这前面部分拷贝到Google搜索引擎一搜索就有:

Delphi2007 在Win10 下运行报错 Assertion failure

Delphi2007 原来安装在Win7 下 运行正常, 自从升级到Win10 ,新建工程运行然后关闭报错, 报错信息如下: ---------------------------bds.exe - bordbk105N.dll---------------------------Assertion failure: "(!"SetThreadContext failed")"in ..\win32src\thread32.cpp at line 412Contin

解决:CWnd::SetWindowText报Assertion failure

参考资料: http://www.cnblogs.com/tiancun/p/3756581.html http://www.tc5u.com/mfc/2120698.htm http://forums.codeguru.com/showthread.php?379745-setwindowtext-in-cdialog-ctor-causes-assertion-to-fail 出错代码: 1 CInfoDlg dlg; 2 dlg.GetDlgItem(IDC_STATIC)->SetWin

Assertion failure in -[UITableView _configureCellForDisplay:forIndexPath:]

今天做一个tableView动态单元格遇到一个这么个问题.  Assertion failure in -[UITableView _configureCellForDisplay:forIndexPath:], /SourceCache/UIKit_Sim/... 因为 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 这个函数的返回值是个