2016-08-14 2 views
1

В приложении, которое я создаю, у меня есть боковое меню, в котором я использовал шаблон SWRevealViewController. Я сделал свою собственную анимированную кнопку, чтобы быть кнопкой меню гамбургера, поэтому, когда ее нажатие откроет боковое меню. Проблема в том, что я не могу понять, как подключить мою анимированную кнопку к SWRevealViewController.Добавление кнопки Hamburger в SWRevealViewController в Swift

Вот код кнопки, который я сделал.

анимированные кнопки

self.button = HamburgerButton(frame: CGRectMake(0, 0, 30, 30)) 
    self.button.addTarget(self, action: #selector(home.toggle(_:)), forControlEvents:.TouchUpInside) 

    let refreshButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Refresh, 
    target: self, action: #selector(home.buttonMethod)) 
    navigationItem.leftBarButtonItem = button 

и Heres кнопка, которая была использована для SWRevealViewController

override func viewDidLoad() { 
    super.viewDidLoad() 

if revealViewController() != nil { 
     menuButton.target = revealViewController() 
     menuButton.action = #selector(SWRevealViewController.revealToggle(_:)) 
     view.addGestureRecognizer(self.revealViewController().panGestureRecognizer()) 
} 

} 

Ive сделали много исследований, но просто не может узнать, как это сделать. Мне нужна кнопка, которую я сделал, которая является первым кодом, чтобы получить доступ к SWRevealViewController и открыть и закрыть боковое меню, а не кнопку, которая является вторым кодом, который поставляется с шаблоном SWRevealViewController. Любая помощь будет Awesome !!

ответ

1

Вот как я это делаю. Вы можете адаптировать это к вашим потребностям.

let singleTap = UITapGestureRecognizer(target: self, action: #selector(tapDetected)) 
singleTap.numberOfTapsRequired = 1 
sideMenuButton.userInteractionEnabled = true 
sideMenuButton.addGestureRecognizer(singleTap) 

func tapDetected() { 
    self.revealViewController().revealToggle(self) 
} 
+0

Его сообщение об ошибке, которое 'tapDetetected' является Object-C. есть ли что-нибудь, что я могу изменить, чтобы работать быстро? –

+0

Я понял! ты был прав. Мне просто пришлось обходиться с ним. Спасибо чувак! –

Смежные вопросы