Iphone iOS:UIScrollView在移除UIButton后不滚动

Iphone iOS:UIScrollView在移除UIButton后不滚动,iphone,ios,uiscrollview,uibutton,autolayout,Iphone,Ios,Uiscrollview,Uibutton,Autolayout,我有一个视图控制器,如下所示: if (item.url==nil||[item.url isEqualToString:@""]) { [overdriveButton removeFromSuperview]; } 根视图是一个滚动视图。当视图第一次加载时,它可以正常滚动 但是,我有时需要删除底部的一个按钮,代码如下: if (item.url==nil||[item.url isEqualToString:@""]) { [overdriveButton removeF

我有一个视图控制器,如下所示:

if (item.url==nil||[item.url isEqualToString:@""]) {
    [overdriveButton removeFromSuperview];
}

根视图是一个滚动视图。当视图第一次加载时,它可以正常滚动

但是,我有时需要删除底部的一个按钮,代码如下:

if (item.url==nil||[item.url isEqualToString:@""]) {
    [overdriveButton removeFromSuperview];
}
但是,执行此操作后,滚动视图将不再滚动。(在屏幕中间的那些视图扩展,所以总是有大量的内容延伸到屏幕底部之外)。
注意,我需要在这里使用自动布局。我怀疑这是问题的一部分。删除按钮(以及必要的相关约束)是否会使滚动视图混淆?

设置UIScrollView的“contentSize”属性,或者调用“sizeToFit”方法。

是否
item.utl
真的是一个NSString?我遇到过这样的情况,运行时异常被UIKit悄悄捕获,但使UI冻结而不会使应用程序崩溃。向我们展示您对scrollview的contentSize的计算。您可能正在使用按钮进行计算,这将导致它停止滚动。我没有在任何地方设置内容大小。我想我以为Auto Layout会帮我解决这个问题?正如我所说,在我移除一个按钮之前,它可以正常工作。当启用自动布局时,removeFromSuperView可能会导致在UIScrollView上调用内部“sizeToFit”。这将导致scrollview扩展到其内容的大小(比屏幕大),然后就没有任何东西可以滚动了。移除按钮后,设置正确的“contentSize”。