![](/img/trans.png)
[英]Pushing A New WatchKit Controller Immediately After Popping Another Always Fails
[英]Popping view controller immediately after pushing it
我希望視圖控制器進行檢查,如果為true,則將允許用戶使用視圖控制器;如果為false,它將向用戶顯示警報,並將用戶發送回他/她來自何處。
所以我嘗試將其添加到viewDidLoad
末尾的if語句中:
[self.navigationController popViewControllerAnimated:YES]
但是,我得到了錯誤:
2014-08-09 20:12:59.731 ProjectName [1978:60b]嵌套的流行動畫可能會導致導航欄損壞
2014-08-09 20:13:00.118 ProjectName [1978:60b]在意外狀態下完成導航過渡。 導航欄子視圖樹可能已損壞。
我從這個StackOverflow問題中學到,在viewDidLoad
完成之前調用pushViewController
或popViewController
是不安全的。 有什么辦法解決嗎?
TLDR:我正在嘗試將視圖控制器推入堆棧,顯示警報,然后將視圖控制器從堆棧中彈出。
編輯:添加代碼。
如果您想顯示警報,這應該相當容易。
1-從viewDidAppear
調用[UIAlertView show]方法。 最好使用viewDidAppear
因為在將視圖控制器完全推入堆棧時,它將使用於視圖生命周期中的最后一個。 因此,彈出將是無害的。
2 -在clickedButtonAtIndex委托方法,調用popViewControllerAnimated
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.