在我的iPhone應用程序,這是基於NavigationController後,我有一些元素A,B,另一種觀點認爲X的ç子視圖當我推控制器到達這一觀點,在viewWillAppear中,我調整爲了正確處理設備的方向,根據X的大小確定a,b和c的大小和位置。問題在於X的大小正在變更後 viewWillAppear已被調用。我將X分類並編寫了一個setFrame方法來設置斷點並嘗試查找原因。下面是指向圖像的鏈接(由於缺少點,我無法直接發佈圖像)顯示viewWillAppear處的中斷,以及viewWill在調用堆棧後出現的setFrame中斷。我需要幫助來找出爲什麼X的大小以這種方式被改變。謝謝。查看尺寸變化viewWillAppear中
在viewWillAppear中: http://img718.imageshack.us/img718/9898/viewwillappearbreak.th.png
在子類SETFRAME休息viewWillAppear中後: http://img703.imageshack.us/img703/7995/afterviewwillappear.th.png
在此先感謝。 (我希望圖像能夠正確顯示)。
你對viewWillAppear和viewDidAppear的實現是什麼樣的?代碼片段會很好。特別是,你什麼時候從你自己的實現中調用[super viewWillAppear]和[super viewDidAppear]? – occulus
另外,您是否考慮在視圖中使用自動調整大小的彈簧,以便在方向更改時調整組件大小和/或正確定位組件?也只是雙重檢查設置自動調整行爲的方式可能是一個好主意。 – occulus
順便說一句,這可能與layoutSubviews被調用,在這種情況下,下面的答案可能會有用: http://stackoverflow.com/questions/728372/when-is-layoutsubviews-called 頂部的答案有一個鏈接到一個有用的博客帖子,涉及layoutSubviews何時被調用。 – occulus