2013-01-11 18 views

回答

2

故事板實際上是實現爲廈門國際銀行文件的收集,有關過渡(塞格斯)它們之間的附加信息。所以如果我們只是談論一個單一的視圖控制器,視圖控制器的生命週期不應該有根本的不同。

如果不理解視圖控制器及其視圖層次結構如何設置,回答您的具體問題非常困難。這聽起來像您在滾動視圖中有一個視圖,並且您想知道何時可以訪問其屬性frame

UIKit的步驟如下(大約):

  1. 它加載在故事板/ XIB文件中描述的所有視圖,並根據需要連接所有的操作和出口。在此步驟後調用viewDidLoad
  2. 它調用viewWillAppear:來指示它即將顯示視圖。
  3. 它將視圖添加到窗口中,調整大小以適應窗口大小。尺寸大小向下傳播到視圖層次結構中,因此每個視圖都佈置其子視圖(如果它被配置爲自動調整子視圖)。這些更改發生在動畫塊內部,因此一旦設置好了所有內容,用戶就會看到新的視圖。
  4. 動畫完成後,調用viewDidAppear:

如果視圖有autoresizesSubviews設置爲NO,您可能會看到一些奇怪的現象;這可能是爲什麼你必須撥打layoutIfNeededself.scroller。請注意,layoutIfNeeded的文件說:

當收到此消息時,該層的超層遍歷直到祖先層發現,不需要佈局。然後,在該祖先下面的整個圖層樹上執行佈局。

因此,它可能會觸發其他無關視圖的佈局。

+0

我試圖獲得「frame.size」屬性,它並沒有在viewDidLoad中顯示它。另外,當我在IB中構建我的xib時,我能夠在viewWillAppear中獲取frame.size屬性,但出於某種原因,故事板不是這種情況。我想我得到的是我想要更多的肉給你的答案。 –

+0

@Benny更新。老實說,你的問題有點不清楚,我盡我所能。 – benzado

+0

好東西感謝您提供更多的細節!我確實已經自動調整了在IB中選擇的Subviews。讓我附上一些截圖 –

相關問題