anu*_*nuj 1 amslidemenu swift3
我是初学者,我想在右侧创建侧边菜单.
到目前为止,我有一个UIButton正确的顶部viewController,我想要的是当我点击那个按钮我show/hide slide menu想说3项...
当我点击每个项目时,它将转到不同的视图控制器.在我的项目中,我只使用AMSlideMenu在一个viewController中显示幻灯片菜单.提前致谢.
Ami*_*han 14
Anuj只是按照步骤 -
SideMenuViewController子类UIViewController,使用故事板根据需求查看它的外观.SideMenuViewController通过UIButton单击将此及其视图添加为父视图控制器中的子视图控制器.SideMenuViewController从父视图控制器中删除并从父视图中删除其视图.对所有视图控制器重复2和3.
更新的代码:
在您的视图控制器中声明 -
var sideMenuViewController = SideMenuViewController()
var isMenuOpened:Bool = false
Run Code Online (Sandbox Code Playgroud)
在 viewDidLoad
sideMenuViewController = storyboard!.instantiateViewController(withIdentifier: "SideMenuViewController") as! SideMenuViewController
sideMenuViewController.view.frame = UIScreen.main.bounds
Run Code Online (Sandbox Code Playgroud)
在您的buttonClicked活动中 -
func openAndCloseMenu(){
if(isMenuOpened){
isMenuOpened = false
sideMenuViewController.willMove(toParentViewController: nil)
sideMenuViewController.view.removeFromSuperview()
sideMenuViewController.removeFromParentViewController()
}
else{
isMenuOpened = true
self.addChildViewController(sideMenuViewController)
self.view.addSubview(sideMenuViewController.view)
sideMenuViewController.didMove(toParentViewController: self)
}
}
Run Code Online (Sandbox Code Playgroud)
对于动画:
let transition = CATransition()
let withDuration = 0.5
transition.duration = withDuration
transition.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
transition.type = kCATransitionPush
transition.subtype = kCATransitionFromLeft
sideMenuViewController.view.layer.add(transition, forKey: kCATransition)
Run Code Online (Sandbox Code Playgroud)