在 SWIFT 中单击 TAB 栏打开侧边菜单
Opening a side menu on click on a TAB bar in SWIFT
我想制作类似下面的快照。
当我单击配置文件选项卡栏而不是打开新的视图控制器时,它显示了一个侧面菜单。是否已在点击标签栏时处理过?
您可以使用标签栏委托:
extension ViewController: UITabBarDelegate {
func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem) {
// Present hamburger menu
}
}
如果你想实现像你的 screenShot 这样的东西,那么你使用了错误的库,因为当你展示你的右边时 viewController
前面 viewController
向左移动你右边的宽度viewController
,但无论如何,这是您需要执行的操作的代码
首先你需要把你的 viewController 作为你的 TabBarViewController 的委托,在 func tabBarController(tabBarController: UITabBarController, shouldSelectViewController viewController: UIViewController) -> Bool
你需要 return false 并调用 SWRevealViewController 的方法来显示正确的 viewController rightRevealToggleAnimated(true)
class FirstViewController: UIViewController,SWRevealViewControllerDelegate,UITabBarControllerDelegate {
@IBOutlet weak var sliderControl: UISlider!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.revealViewController().delegate = self
self.tabBarController?.delegate = self
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
//self.view.removeGestureRecognizer(self.revealViewController().panGestureRecognizer())
//self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func tabBarController(tabBarController: UITabBarController, shouldSelectViewController viewController: UIViewController) -> Bool {
//checking for specific viewController
if(viewController is DesiredViewControllerClass) {
self.revealViewController().rightRevealToggleAnimated(true)
}
return false
}
}
希望对您有所帮助,问候
我想制作类似下面的快照。
当我单击配置文件选项卡栏而不是打开新的视图控制器时,它显示了一个侧面菜单。是否已在点击标签栏时处理过?
您可以使用标签栏委托:
extension ViewController: UITabBarDelegate {
func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem) {
// Present hamburger menu
}
}
如果你想实现像你的 screenShot 这样的东西,那么你使用了错误的库,因为当你展示你的右边时 viewController
前面 viewController
向左移动你右边的宽度viewController
,但无论如何,这是您需要执行的操作的代码
首先你需要把你的 viewController 作为你的 TabBarViewController 的委托,在 func tabBarController(tabBarController: UITabBarController, shouldSelectViewController viewController: UIViewController) -> Bool
你需要 return false 并调用 SWRevealViewController 的方法来显示正确的 viewController rightRevealToggleAnimated(true)
class FirstViewController: UIViewController,SWRevealViewControllerDelegate,UITabBarControllerDelegate {
@IBOutlet weak var sliderControl: UISlider!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.revealViewController().delegate = self
self.tabBarController?.delegate = self
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
//self.view.removeGestureRecognizer(self.revealViewController().panGestureRecognizer())
//self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func tabBarController(tabBarController: UITabBarController, shouldSelectViewController viewController: UIViewController) -> Bool {
//checking for specific viewController
if(viewController is DesiredViewControllerClass) {
self.revealViewController().rightRevealToggleAnimated(true)
}
return false
}
}
希望对您有所帮助,问候