簡體   English   中英

為什么UIScrollView的contentSize不變?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM