【发布时间】:2015-04-05 19:58:58
【问题描述】:
我正在尝试快速构建自己的滑出式菜单,但遇到了一些麻烦。 现在,我编写了一个更改 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
}
}
}
}
所以,现在,这可行,但我认为子视图与主视图的其余部分一起滑动。 如何使导航视图不隐藏?或者更好,留在那里(我的意思是origin.x:0)
【问题讨论】:
标签: ios swift menu slide subview