在更改和重新添加之前,是否需要从Superview中删除ScrollView?

时间:2014-08-09 22:37:11

标签: objective-c ios7 uiview uiscrollview

我有一个UIScrollView当然包含信息。根据条件,我将滚动视图的高度更改为:

CGRect scrollFrame = self.scrollView.frame;
scrollFrame.size.height = scrollFrame.size.height + adMobBannerView.frame.size.height;
self.scrollView.frame = scrollFrame;

然后我再添加了scrollview:

[self.view addSubview:self.scrollView];

所有这一切都可行。但是,在重新添加之前,我应该首先从superview中删除scrollview吗?虽然我正在做的工作,我想知道我是否只是在滚动视图的顶部不必要地分层滚动视图?

1 个答案:

答案 0 :(得分:1)

更改高度后,您不必将UIScrollView添加为子视图(如果它当前已添加为子视图)。

当您尝试将视图A添加为视图B的子视图并且视图A具有超级视图时,它将从其超级视图中删除,因此您不必自己调用removeFromSuperview方法。 来自Apple Documentation

  

视图只能有一个超级视图。如果视图已经具有超视图并且该视图不是接收器,则此方法在使接收器成为新的超视图之前移除先前的超视图。