Я должен реализовать левое скользящее меню, например UBER или Gmail.custom segue для реализации меню левой панели
создать пользовательский SEGUE для подключения кнопки к UITableViewController (меню), работает правильно, но у меня есть две проблемы:
1.- Когда сенсорный пользователь в любом месте на столе содержимое таблицы исчезает
2.- Я не знаю, как реализовать «разматывать», когда пользователь прикасается за пределы таблицы, идея заключается в том, что этот код записывается один раз, а не на каждый контроллер вида.
Мои StoryBorad выглядит следующим образом (Очень раннее развитие):
и это мой код Segue:
import UIKit
class LeftMenuSegue: UIStoryboardSegue {
override func perform() {
var content = self.sourceViewController as! UIViewController
var menu = self.destinationViewController as! UIViewController
var contentFrame: CGRect = content.view.frame
menu.view.frame = CGRectMake(-(contentFrame.size.width), 0, contentFrame.size.width/2, contentFrame.size.height)
var sideFrame: CGRect = menu.view.frame
var animationFrame = contentFrame
animationFrame.size.width = contentFrame.size.width/2
var blackview = UIView(frame: contentFrame)
blackview.backgroundColor = UIColor.blackColor().colorWithAlphaComponent(0.5)
menu.view.alpha = 0
blackview.alpha = 0
content.view.superview?.window?.addSubview(blackview)
content.view.superview?.window?.addSubview(menu.view)
UIView.animateWithDuration(0.5, delay: 0, options: UIViewAnimationOptions.CurveEaseOut,
animations: {() -> Void in
blackview.alpha = 0.5
menu.view.frame = animationFrame
menu.view.alpha = 1
}) { (finished) -> Void in
menu.didMoveToParentViewController(content)
}
}
}
при работе на моем iPhone 6 выглядит следующим образом:
Вы не можете использовать разматывание, потому что вы не делали подарок, а добавляли только контроллер меню над другим контроллером, вы также пропустили addChi ldViewController –