簡體   English   中英

iPhone:當用戶按下已選擇的選項卡時,如何使UINavViewController不彈出視圖控制器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM