我有一個UIScrollView設置在viewDidLoad
方法UIViewController
(我將其稱爲ScrollViewController
)。滾動視圖包含水平內容頁面(類似於本地天氣應用)。如何使用自動佈局在載入時滾動UIScrollView
顯示滾動視圖時,應該可以選擇啓動哪個頁面。我的模式是這樣的:
- init a
ScrollViewController
。這裏沒有什麼發生。 AcurrentPage
屬性默認爲0. - 將
scrollViewController.currentPage
設置爲所需的頁碼。 viewDidLoad
的ScrollViewController
,讀self.currentPage
並使用scrollToRect
或setContentOffset
相應地滾動。
滾動實現看起來很好,因爲我在其他地方使用相同的代碼跳轉到某些頁面。但在第一次加載時,沒有任何事情發生(即,滾動視圖不滾動到所需的頁面)。
我認爲我已經找到了原因 - 它似乎是滾動視圖的contentSize
(這是由自動版式衍生記住)期間viewDidLoad
是0,這似乎這防止滾動。在viewWillAppear期間它也是零。只有在viewDidAppear
的滾動工作,這當然使奇怪的用戶體驗。
我該如何解決這個問題?以某種方式強制佈局viewDidLoad
是明智的嗎?或者其他一些方法?