我正在尝试制作包含不同设置的UIScrollView
。虽然我将UIScrollView连接到我的ViewController并以编程方式更改了内容大小,但UIScrollView
只是水平滚动,这不是它应该的方式(它应该只是垂直滚动)。这是我用来定义UIScrollView内容大小的方法:
self.scrollView.contentSize = CGSize(width: self.view.bounds.width, height: 1400)
另一个重要的事情是我将View控制器模拟尺寸设置为自由形式,宽度为375,高度为1000。
我一直想弄清楚,我找不到我做错了什么。如果你知道这是什么原因,我会非常感激。
提前致谢。
func viewDidLayoutSubviews() {
self.scrollView.contentSize = CGSize(width: self.view.bounds.width, height: 1400)
}
UIScrollview contentSize动态(取决于子视图框架)
迅速:
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
DispatchQueue.main.async {
var contentRect = CGRect.zero
for view in self.scrollView.subviews {
contentRect = contentRect.union(view.frame)
}
self.scrollView.contentSize = contentRect.size
}
}
目标C:
- (void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
dispatch_async(dispatch_get_main_queue(), ^ {
CGRect contentRect = CGRectZero;
for(UIView *view in scrollView.subviews)
contentRect = CGRectUnion(contentRect,view.frame);
scrollView.contentSize = contentRect.size;
});
}