gpt4 book ai didi

ios - 隐藏 UITabBarController 的 tabBarItem,同时仍然能够显示关联的 View

转载 作者:行者123 更新时间:2023-11-28 15:18:33 25 4
gpt4 key购买 nike

我正在尝试为我的 iPhone“选项卡式应用程序”创建一个导航,它包括(显然)UITabBarControllerSWRevealViewController用于显示侧边菜单。

我的应用程序中的所有 View 必须同时显示UITabBarControllerUINavigationBar,但是,出现在左侧菜单中的链接(已处理by SWRevealViewController) 不得出现在UITabBarController中。

我的左侧菜单链接是这样处理的:

import UIKit

class MenuTableViewController: UITableViewController {

override func viewDidLoad() {
super.viewDidLoad()
self.clearsSelectionOnViewWillAppear = false
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let selectedIndex = (indexPath as NSIndexPath).row + 1 // hardcoded for time being
let tabBarController = revealViewController().frontViewController as! UITabBarController

let navController = tabBarController.viewControllers![selectedIndex] as! UINavigationController
navController.popToRootViewController(animated: true)

tabBarController.selectedIndex = selectedIndex
revealViewController().pushFrontViewController(tabBarController, animated: false)
}
}

现在,我尝试删除一个我不想在我的 UITabBarController 中显示的 View 的链接,如下所示:

import UIKit

class TabBarController: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
let index = 2 // hardcoded for time being
viewControllers?.remove(at: index)
}
}

但是如果我现在点击左侧菜单中的关联链接,我会得到一个 NSRangeException index 2 beyond bounds [0 .. 1] 错误(当然,因为我删除了特定的 来自 UITabBarController 的 tabBarItem

我的问题是:如何从 UITabBarController 中“隐藏”该项目,但仍然能够从我的侧边菜单中引用它(并打开它)?

更新
我现在的 Storyboard 如下所示:enter image description here

最佳答案

使用“菜单”来操作选项卡可能不是一个好主意 - 这就是 Apple 设计更多...和编辑...功能的原因。

根据您的整体设计/导航/用户体验流程,两个合理的选择是:

  1. 不是替换当前选择的选项卡,.present 模态视图 Controller ,带有“取消”或“保存”或“完成”按钮以.dismiss 它(任何合适的)。

  2. 由于您声明每个选项卡的 ViewController 都是一个 NavigationController,因此您可以将菜单选择的 View Controller .push 到当前堆栈。然后您的界面可以使用标准的“<返回”按钮导航。

祝你好运:)

关于ios - 隐藏 UITabBarController 的 tabBarItem,同时仍然能够显示关联的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46427464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com