当我将 setContentSize 与自动布局一起使用时,UIScrollView 崩溃

Posted

技术标签:

【中文标题】当我将 setContentSize 与自动布局一起使用时,UIScrollView 崩溃【英文标题】:UIScrollView crash when I use setContentSize with auto-layout 【发布时间】:2013-03-11 09:07:35 【问题描述】:

我有一个要放入 UIScrollView 的自定义 UIView。我使用此代码:

-(void)viewDidLayoutSubviews
    myView = [[[NSBundle mainBundle]loadNibNamed:@"Case1" owner:self options:nil]objectAtIndex:0];
    [_scrollView setContentSize:CGSizeMake(myView.bounds.size.width , myView.bounds.size.height)];
    [_scrollView addSubview:myView];

我遇到了崩溃:

“由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'向视图控制器发送-viewDidLayoutSubviews后仍然需要自动布局。INFillingHelpViewController的实现需要向视图发送-layoutSubviews以调用自动布局。'”

你能帮帮我吗?

【问题讨论】:

取消勾选 Case1.xib 中的自动布局 效果很好,谢谢 【参考方案1】:

为什么要这样做。试试这行代码。如果您需要任何帮助,尽管问。

UIView *view=[UIView alloc]initWithNibName:@"view" bundle:nil];
[_scrollView setContentSize:CGSizeMake(myView.frame.size.width , myView.frame.size.height)];
[_scrollView addSubview:view];

【讨论】:

以上是关于当我将 setContentSize 与自动布局一起使用时,UIScrollView 崩溃的主要内容,如果未能解决你的问题,请参考以下文章

UIScrollView setContentSize 使用自动布局打破视图

与 UIScrollView 和 setContentSize 混淆

使用 UIScrollView 和 setContentSize 时设置正确的大小

自动布局我可以将 CenterY 与顶部和底部约束结合起来吗?

Xcode:自动布局无法正常工作

自动布局和 UILabel 的问题