我正在使用addSubView方法添加視圖。 viewWillDisappear有沒有其他方法可用? viewWillDisappear不會觸發。我想在當前視圖消失時釋放所有分配的對象。目前我正在使用dealloc方法來做到這一點。但是,dealloc方法並不是很快。由於我收到內存警告,有時我的應用程序可能會崩潰。主要問題是語音文件。視圖會消失不會觸發
回答
您可以嘗試release
方法viewDidDisappear
中的對象。然後你就不會等待射擊方法dealloc
。
viewDidDisappear
你可以嘗試從上海華刪除所有子視圖(將調用
viewWillDisappear
所有子視圖)
另外:
NSArray *subviews = [self.view subviews];
for (UIView *view in subviews)
[view removeFromSuperview];
因爲我使用addSubView viewDidDisappear,所以viewWillDisappear將不起作用。我做了這個使用代碼:[myViewController viewWillAppear:YES]; –
即使你對該視圖的調用方法'removeFromSuperview' ??? – Nekto
釋放viewDidUnload/viewDidDisappear對象和dealloc的設置爲nil
這可能工作,但你一定要看看爲什麼viewWillDisappear沒有被調用。
釋放你設置爲零的「對象」沒有意義,因爲它們不是對象,它們是指向零的對象,並且你不能釋放零。 –
@fichek你是對的,我的錯誤 –
這樣更好:) –
addSubview/removeFromSuperview(這些方法與視圖不是視圖控制器有關)不調用viewWillAppear/viewWillDisappear方法。您應該在dealloc()本身中編寫發行對象代碼。
removeFromSuperview應該調用dealloc()。
GOT IT WORKED !!! –
當視圖動畫開始時,通過手動發送此消息給VC來修復它。 代碼: [myViewController viewWillAppear:YES]; –
是的,有些時候需要手動調用這些函數。 – Mahesh
- 1. 回收視圖不會消失
- 2. 視圖事件不會觸發
- 3. touchevents不會從子視圖內觸發
- 4. 網頁視圖事件不會觸發
- 5. 列表視圖onitemclick不會觸發
- 6. 骨幹子視圖事件不會觸發,訪問this.model丟失
- 7. jwplayer'share'圖片不會消失
- 8. 間接更新視圖內容時觸發不會觸發
- 9. 切換視圖時視圖不會消失
- 10. UITableViewCell的子視圖偶爾會消失
- 11. CakePHP取消按鈕不會觸發
- 12. iOS鍵盤不會消除視圖後消失
- 13. navBar不會消失
- 14. UIAlertController不會消失
- 15. UIStatusBar不會消失
- 16. C#/ Xamarin:出現/消失事件不會觸發
- 17. 當元素消失時onmouseout不會被觸發
- 18. OnEnterBreakMode不會觸發
- 19. UIKeyboardWillHide不會觸發
- 20. Session_End不會觸發?
- 21. KeyListener不會觸發
- 22. UIDeviceOrientationDidChangeNotification不會觸發?
- 23. prepareForSeque不會觸發
- 24. Clickhandler不會觸發
- 25. didAccelerate不會觸發?
- 26. window.load不會觸發
- 27. BackgroundTask不會觸發
- 28. ICommand不會觸發
- 29. valueChangeListener不會觸發
- 30. OnTabChanged不會觸發
你認爲viewWillDisappear應該被調用,爲什麼?您是否通過導航控制器,標籤欄控制器,以模態方式呈現另一個視圖控制器或執行其他操作,從視圖控制器導航? –