我的iphone應用程序有一個UIViewController
下的用戶窗體。當iphone應用程序從後臺啓動時UIView發生變化
當我退出應用程序(轉到後臺模式)並再次啓動應用程序時,我的某些UIView
會更改其位置和大小。 (這些UIViews
取決於鍵盤位置) 肯定某處是我的錯。
我嘗試瞭解當應用程序從後臺重新啓動並且可以完成更改的位置時發生了什麼。
也許你可以建議任何鏈接閱讀。
謝謝。
我的iphone應用程序有一個UIViewController
下的用戶窗體。當iphone應用程序從後臺啓動時UIView發生變化
當我退出應用程序(轉到後臺模式)並再次啓動應用程序時,我的某些UIView
會更改其位置和大小。 (這些UIViews
取決於鍵盤位置) 肯定某處是我的錯。
我嘗試瞭解當應用程序從後臺重新啓動並且可以完成更改的位置時發生了什麼。
也許你可以建議任何鏈接閱讀。
謝謝。
UIViewController的viewDidLoad
和viewWillAppear
方法每次從內存中轉儲視圖時都會調用,這種情況通常在應用程序進入後臺時發生。根據您的代碼,您可能存儲了一些未清除的位置數據。如果是這樣的話,你可以:
更改您的代碼以更好地適應了Model-View-Controller模式,這樣的定位代碼和變量都在控制器和你進行相應的清理東西在其'viewWillDisappear and
viewDidUnload`方法(更好的方法),或者
清除應用程序委託的applicationWillEnterBackground方法中遺留的任何殘留物。
這就是問題所在。我的UIViewController不會調用'viewDidLoad','viewWillAppear'等等。當應用程序轉到後臺並重新啓動時,我不會收到這些調用。我只在應用程序委託中獲得'applicationDidEnterBackground:'。 – sinoptic 2011-03-16 12:06:41
嗯。然後它聽起來像我們需要看到一些代碼。 – 2011-03-16 12:15:39
有點代碼會幫助我們很多,它不會傷害你發佈一些代碼ryt? – visakh7 2011-03-16 11:41:21