2016-08-03 26 views
0


所以這個問題不是關於一個具體的問題,而是一個通用的編碼問題。
到現在爲止,我經常使用viewDidLayoutSubviews爲我的UIScrollViews設置新的contentInset。原因很簡單,在viewDidLayoutSubviewsself.topLayoutGuide.length設置正確,例如,旋轉。

但今天我想知道:
爲什麼不把contentInset設置爲viewWillLayoutSubviews,這樣做不是更安全嗎?
我想知道的原因是:
在佈置UIScrollView之前設置contentInset比在之後設置之前更好嗎?例如自動滾動可能會更好,如果這樣做?

也許我只是在推翻所有這些。

您對此有何看法?UIScrollView設置contentInset在viewWillLayoutSubviews或viewDidLayoutSubviews

回答

1

你可以在你的視圖控制器裏面設置self.automaticallyAdjustsScrollViewInsets = YES並讓系統幫你照顧它,或者你需要某種自定義插入嗎?

編輯

我不知道它的確與衆不同,但很難知道肯定沒有嘗試它。由於您只是在調整插頁,所以在佈局傳遞完成之前或之後設置它實際上應該很重要,因爲它不會更改任何約束或觸發另一個佈局傳遞。除非你注意到旋轉滾動的特定問題,否則我不會擔心它太多。

+0

我可以和我做。但問題不是關於具體插入問題,而是如何設置自定義插入。當你有一個自定義的頂部插入,例如'self.topLayoutGuide.length + 44',你應該在'viewWillLayoutSubviews'還是'viewDidLayoutSubviews'中設置它,這個問題 –

+0

你使用的是自動佈局嗎? –

+0

在某些項目中是的,在其他一些項目中沒有。但就像我說的,我沒有'contentInsets'問題。我問了這個問題來了解一下,如果你有自定義的,最好設置'contentInsets'。 –

相關問題