2015-09-29 72 views
1

我有一个UIViewController(MasterViewController),带有一个UIScrollView,顶部有一个标题视图,下面是一个容器。用嵌入式视图控制器调整UIScrollView的contentSize

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

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

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

我想我可以打电话给

[embeddedViewController layoutIfNeeded]; 

...之前,我把它嵌入到马西德威,但不知何故滚动视图contentSize设置不正确。对于UIScrollViews中的动态长度containerView,您有任何想法或最佳做法吗?

enter image description here

+0

你不应该添加的UITableView到一个UIScrollView。 – anhtu

+0

背景:我想创建一个带分段控件的paralax标题视图,并使用容器为不同的分段控件标签显示不同的视图控制器。因此我需要嵌入ViewControllers,比如UITableViewController,将其框架调整到它的contentSize,这样它就不能自动滚动并将其渲染到容器视图。通过这样做,只有scrollView实际上是滚动的。我没有看到 – MarkHim

+0

尝试在'viewDidAppear'方法中更改内容大小的问题。 –

回答

1

scrollviewcontentsizeviewDidLayoutSubviews方法

-(void)viewDidLayoutSubviews 
{ 
    [super viewDidLayoutSubviews]; 
    scrollView.contentSize = CGSizeMake([UIScreen mainScreen].bounds.size.width,350); 
} 
相关问题