使用嵌入式视图控制器调整UIScrollView的contentSize

时间:2015-09-29 10:03:00

标签: ios objective-c uitableview uiscrollview containers

我有一个带有UIScrollView的UIViewController(MasterViewController),顶部有一个标题视图,下面有一个容器。

当我嵌入任何childViewController(例如EmbeddedViewController)时,显然需要调整UIScrollView的contentSize。为了调整大小,我需要等到嵌入视图正确布局然后设置

scrollView.contentSize.height = embeddedViewController.tableView.contentSize.height + HeaderView.frame.height;

在嵌入任何embeddedViewController后,在(在MasterViewController中)可以更新scrollView.contentSize吗?

我以为我可以致电

[embeddedViewController layoutIfNeeded];

...在我将其嵌入masterView之前,但不知何故,scrollView contentSize未正确设置。您对UIScrollViews中的动态长度containerViews有任何想法或最佳实践吗?

enter image description here

1 个答案:

答案 0 :(得分:1)

scrollview方法

中提供contentsize viewDidLayoutSubviews
-(void)viewDidLayoutSubviews
{
    [super viewDidLayoutSubviews];
    scrollView.contentSize = CGSizeMake([UIScreen mainScreen].bounds.size.width,350);
}