我正在尝试快速构建自己的幻灯片菜单,但我遇到了一些麻烦。 现在,我编写了一个更改view.frame.origin.x的函数,以便我在右侧滑动视图。 现在,我在index:0处添加了一个子视图,我希望在我将主视图(内容)滑出时显示它。
let navView: NavigationViewController = self.storyboard?.instantiateViewControllerWithIdentifier("navView") as NavigationViewController
view.insertSubview(navView.view, atIndex: 0)
addChildViewController(navView)
navView.didMoveToParentViewController(self)
当我点击菜单标识(左上角)时会发生这种情况:
@IBAction func showMenu(sender: AnyObject) {
println("showMenu")
if !self.menuIsOpen{
UIView.animateWithDuration(0.5, delay: 0, usingSpringWithDamping: 1.0, initialSpringVelocity: 0, options: .CurveEaseInOut, animations: { () -> Void in
self.view.frame.origin.x = 150
}) { (isHappen: Bool) -> Void in
if isHappen {
println("OpenedUp!")
self.menuIsOpen = true
}
}
} else {
UIView.animateWithDuration(0.5, delay: 0, usingSpringWithDamping: 1.0, initialSpringVelocity: 0, options: .CurveEaseInOut, animations: { () -> Void in
self.view.frame.origin.x = 0
}) { (isHappen: Bool) -> Void in
if isHappen {
println("Closed!")
self.menuIsOpen = false
}
}
}
}
所以,现在,这有效,但我认为子视图与主视图的其余部分一起滑动。 如何使navigationView不隐藏?或者更好,留在那里(我的意思是与origin.x:0)
答案 0 :(得分:0)
你有一个导航视图,与一个视图控制器(1)相关联,然后在该视图控制器内有滑出菜单视图控制器(2)(vc1.addSubview(vc2.view)?那么你可以保持视图控制器(1)的导航栏向上,视图控制器(2)将位于其中,因此它不会滑动视图控制器(1)的导航栏。
答案 1 :(得分:0)
我知道我有点晚了,但是如果其他人有同样的问题:我已经在我正在开发的应用程序上实现了类似的机制。为了实现它,我使用了iOS7中引入的自定义交互式转换。我建议查看以下链接:
希望有所帮助。