【发布时间】:2019-10-20 15:01:34
【问题描述】:
我有一个(UIView 和 UICollectionView 在UIScrollView)作为1stVC。我必须同时滚动两者,而我已经无法滚动集合视图。所以第一次当我启动那个屏幕时,我可以滚动整个视图,但是当我推到(下一个ViewController)2ndVC,然后按返回按钮到1stVC时,我的滚动视图没有执行它得到冻结。
试过这个方法:-
-(void)viewDidLayoutSubviews{
[super viewDidLayoutSubviews];
dispatch_async(dispatch_get_main_queue(), ^ {
CGRect contentRect = CGRectZero;
for(UIView *view in self.scrollView.subviews)
contentRect = CGRectUnion(contentRect,view.frame);
self.scrollView.contentSize = contentRect.size;
});
}
试过这个方法:-
-(void)viewDidLayoutSubviews{
[super viewDidLayoutSubviews];
[_scrollView setContentSize:CGSizeMake(_scrollView.frame.size.width, _scrollView.frame.size.height)];
}
为了获得集合视图的动态高度,我已经完成了这个
CGFloat height = _collectionCompass.contentSize.height;
我已提供给 ScollView ContentSize。
_scrollView.contentSize = CGSizeMake(_scrollView.frame.size.width, height);
请帮帮我。
【问题讨论】:
-
为什么要手动设置collectionView的大小?约束或 UICollectionViewDelegateFlowLayout 协议。取决于您的用例。没有截图很难分辨。
标签: ios objective-c uiscrollview