2016-03-22 3 views
0

Я использую SWRevealViewController для отображения бокового меню в Swift 2.0. Я загрузил файлы из GitHub, правильно создал заголовок моста и правильно подключил segues. Я создаю настраиваемую кнопку, но действие «show toggle» не срабатывает. Где я ошибаюсь?Переключатель SWRevealViewController не работает с пользовательской кнопкой панели навигации

super.viewDidLoad() 
    self.navigationController?.navigationBar.topItem?.title = "DASHBOARD" 
    self.navigationController!.navigationBar.tintColor = UIColor.whiteColor() 
    self.navigationController!.navigationBar.titleTextAttributes = 
     [NSForegroundColorAttributeName: UIColor.whiteColor()] 
    self.navigationController!.navigationBar.titleTextAttributes = [ NSFontAttributeName: UIFont(name: "Teko-Regular", size: 26)!] 
    self.navigationController?.navigationBar.barTintColor = UIColor.redColor() 
    let btnName = UIButton() 
    btnName.setImage(UIImage(named: "LeftNavItem"), forState: .Normal) 
    btnName.frame = CGRectMake(0, 0, 20, 20) 

    let leftBarButton = UIBarButtonItem() 
    leftBarButton.customView = btnName 
    self.navigationItem.leftBarButtonItem = leftBarButton 
    if self.revealViewController() != nil { 
     //print(self.revealViewController()) 
     leftBarButton.target = self.revealViewController() 
     leftBarButton.action = Selector("revealToggle:") 

     self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer()) 
    } 

Распознаватель жестов стреляет должным образом, но не «раскрывает»: «В чем ошибка?

ответ

1
class Name: SWRevealViewControllerDelegate 

override func viewDidLoad() { 
    super.viewDidLoad() 

    self.revealViewController().delegate = self 

} 
+0

Это правильный ответ. Только небольшое примечание о том, что «UIBarButton» не имеет члена ».addTarget« Вы должны сделать это на «UIButton», а затем добавить эту кнопку в качестве подзадачи в «UIBarButton» –

+0

Хорошо, я вижу UIBarButtonItem и отредактированный ответ. – mrkbxt