如何从SEL变量注册选择器?

时间:2012-05-29 13:11:24

标签: iphone

我有一个SEL变量,我想在我的按钮选择器中设置。

我的代码是这样的:

GridView *ObjGridView=[[GridView alloc]initWithFrame:frame]; 
[[NSBundle mainBundle ] loadNibNamed:@"GridView" owner:ObjGridView options:nil];

CATEGORY *ObjCategory=[arrCategory objectAtIndex:index];
//do something 

ICON *ObjIcno=[ObjCategory.arrIconObjects objectAtIndex:indexIcon];

[ObjGridView.button1 addTarget:self action:ObjIcno.handler forControlEvents:UIControlStateNormal];

ObjIcno.handler是SEL变量(之前由选择器设置)

像这样:

arrSectonProductivityTools=[NSMutableArray arrayWithObjects:[[[ICON alloc]initWithIcon:@"firefox.png":@"Firefox":@selector(FirefoxCickEvent:)] autorelease],nil];

我以这种方式在我的班级设置选择器,设置正确,但我没有得到点击事件。

1 个答案:

答案 0 :(得分:1)

[ObjGridView.button1 addTarget:self action:ObjIcno.handler forControlEvents:UIControlStateNormal];

应该是:

[ObjGridView.button1 addTarget:self action:ObjIcno.handler forControlEvents:UIControlEventTouchUpInside];

除了UIControlEventTouchUpInside之外的更多选项,请在UIControlEventTouchUpInside上单击cmd +鼠标。