我正在关注this tutorial,其中声明了以下代码:
if self.revealViewController() != nil {
menuButton.target = self.revealViewController()
menuButton.action = "revealToggle:"
self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
}
我在故事板中创建了一个UIButton
,并使用变量名menuButton
为我的cade打了个出口,但我收到了错误:
UIButton does not have a member named 'target'
UIButton does not have a member named 'action'
任何想法我应该使用,因为那些成员不存在?
答案 0 :(得分:4)
Yep-UIControl(UIButton的超类)不会将它们公开为属性,因为它们可能不止一个,并且它们可以与不同的事件相关联。有一种方法,-addTarget:action:forControlEvents:
var express=require('express');
var app=express();
var twilio=require('twilio');
var acctId='';
var authToken='';
var applicationId='';
app.get('/token',function(req,res){
var capability=new twilio.Capability(acctId,authToken);
capability.allowClientIncoming('dummy');
capability.allowClientOutgoing(applicationId);
var token=capability.generate();
console.log("token:"+token);
});
答案 1 :(得分: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:
。
它没有按照教程所说的方式为你工作的原因是你没有按照教程。在本教程中,这个东西是不是一个UIButton - 它是一个UIBarButtonItem,一个非常不同的动物, 具有target
属性和{{1属性。