2015-09-29 70 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); 
} 
相關問題