2016-10-12 32 views
3

在UIViewController的生命週期中,最好設置UIScrollViewcontentOffest何處/何時設置contentOffset?

如果設置爲viewDidLoadviewWillAppear,則不起作用。如果在viewDidAppear那麼在開始時會出現小的「跳躍」。

試圖用:

setContentOffset(CGPoint(x: some_value, y: 0), animated: false) 

和:

contentOffset.x = some_value 

我需要預裝contentOffset與以前的滾動位置。

無論如何UIScrollViewUICollectionView

+0

你的UI組件(UILabel,UIView等的高度和寬度是動態的?(根據內容) – iMHitesh

+0

'viewWillAppear(_ :)'? – keithbhunter

+0

'viewWillAppear'沒有效果。 –

回答

0

嘗試使用它在viewDidLayoutSubviews

0

你應該調用viewWillAppearviewDidLoad嘗試將抵消之前。

但是,您可能會嘗試在視圖生命週期中過早設置偏移量。

覆蓋-(void)viewDidLayoutSubviews;可能很好,並在那裏設置偏移量。

因爲您的視圖框架應該在當時都適當設置。

注:記得超有叫過

這個答案是從here找到。

相關問題