[英]iPhone: How do I get the the UINavViewController to not pop the view controller when the user presses the tab that is already selected
我有一個選項卡欄,每個選項卡的視圖控制器都是一個導航控制器。 如果按已選擇的選項卡,它將向后彈出視圖控制器。 對於選項卡,我希望這不會發生。 我要代表什么? 我嘗試覆蓋
-(UIViewController *)popViewControllerAnimated:(BOOL)animated
在nav控制器中返回0,但這並不能阻止它彈出!
user74574已關閉,但您不應返回nil,而應返回NO。 是的,從技術上講,它們在位方面都是相同的,位類型具有含義,並且會忽略(根據情況而定)會導致警告和/或錯誤(可通過靜態分析檢測到)的含義。 您想在委托中實現的可能是這樣的:
- (BOOL)tabBarController:(UITabBarController *)tabBarController_ shouldSelectViewController:(UIViewController *)viewController {
if (viewController == tabBarController_.selectedViewController) {
return NO;
} else {
return YES;
}
}
您可以通過子類化UITabBarController
並將其自身設置為UITabBarControllerDelegate
來實現。
實現tabBarController:shouldSelectViewController:
測試它是否正在選擇您關注的視圖控制器,以及是否已被選擇。 如果滿足上述條件,則return nil
。
如果您願意,我可以整理一些實際的代碼,但這應該使您朝着正確的方向發展。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.