[英]What happens if I dont Unwind a Segue in iOS?
如果您繼續在導航堆棧上推送新的視圖控制器而沒有刪除以前的視圖控制器,最終將耗盡內存。 如果您永遠都不想彈出到先前的視圖控制器,則可以在每個視圖控制器中的推送轉換完成后刪除完整的導航歷史記錄viewDidAppear ::
- (void)viewDidAppear {
[super viewDidAppear];
self.navigationController.viewControllers = @[self];
}
另外,您可以通過設置導航控制器的委托並實現navigationController:didShowViewController:animated ::將此邏輯放在中央位置:
- (void)navigationController:(UINavigationController *)navigationController
didShowViewController:(UIViewController *)viewController
animated:(BOOL)animated {
navigationController.viewControllers = @[navigationController.viewControllers.lastObject];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.