2015-06-04 3 views
-1

Я следую this tutorial в котором говорится, чтобы поместить следующий код:UIButton не имеет члена с именем «цели»

if self.revealViewController() != nil { 
    menuButton.target = self.revealViewController() 
    menuButton.action = "revealToggle:" 
    self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer()) 
} 

Я создал в раскадровке с UIButton и сделал выход к моей арче с именем переменным menuButton, но я получаю ошибки:

UIButton does not have a member named 'target' 
UIButton does not have a member named 'action' 

Любые идеи, что я должен использовать вместо поскольку эти элементы не существуют?

+0

Показать объявление 'menuButton'. – rmaddy

+0

Если в учебнике сказано, что я бы поставил под вопрос учебник. Предполагая, что menuButton является подклассом UIButton, у него нет целевого или действительного свойства, и этот код никогда не будет работать. Возможно, menuButton - это настраиваемый класс, который должен иметь свойства «target» и «action». Вам нужно предоставить дополнительную информацию. –

+1

«Я следую этому руководству« Нет, это не так. Если бы вы были, у вас не было бы этой проблемы. – matt

ответ

4

Yep-UIControl (суперкласс UIButton) не раскрывает их как свойства, потому что их может быть несколько, и они могут быть связаны с отдельными событиями. Вместо этого существует метод, -addTarget:action:forControlEvents:

menuButton.addTarget(self.revealViewController(), action: "revealToggle:", forControlEvents: UIControlEvents.TouchUpInside) 
2

Вы по какой-то причине решили пойти против учебника и использовать UIButton. UIButton - это UIControl. См. Документы для UIControl: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIControl_Class/index.html#//apple_ref/occ/instm/UIControl/addTarget:action:forControlEvents:

Как вы можете видеть, вы звоните addTarget:action:forControlEvents:.

Причина, по которой он не работает для вас, как говорится в учебнике, заключается в том, что вы не выполнили учебник. В учебнике эта вещь не a UIButton - это UIBarButtonItem, совсем другое животное, которое имеет, имеет target и action.

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