我希望在所有ViewControllers中都有tabBar。我已经实现了SWRevealViewController,它有两个链接的视图控制器,一个是TabBarController,另一个是TableViewController我希望在我的所有ViewControllers中都有相同的tabBar,它们来自TableViewController。
答案 0 :(得分:1)
这应该不会太难。您的RevealViewController
(故事板的初始控制器)似乎已经是SWRevealViewController
的子类。这很好,但这种情况并不是必需的。您需要的是侧边菜单的UIViewController
实现。仅故事板不会。
另外,我不会在这里使用segues在标签之间切换,因为segue有一个目标视图控制器。因此,每次执行segue时,都会创建目标视图控制器的新实例。我宁愿实现一个UIViewController
来处理UITableView
现在假设您创建一个UIViewController
或UITableViewController
作为您的菜单(实际上是RearViewController
)。请务必将此课程分配到故事板中的UITableViewController
。
class MenuViewController: UITableViewController {
// MARK: UITableViewDelegate
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let tabIndex = indexPath.row
let tabbarVC = (revealViewController().frontViewController as! UITabBarController)
tabbarVC.selectedIndex = tabIndex // this assumes the menu items are in the same order as the tabs. if not you need to adjust this
revealViewController().revealToggle(animated: true) // close the side menu after switching tabs
}
}
这应该就是您所需要的一切