[英]Why does the contentSize of my UIScrollView not change?
我正在嘗試制作一個包含不同設置的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;
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.