ios 如何在自定义视图中使用选择器

bzzcjhmw  于 2022-12-27  发布在  iOS
关注(0)|答案(3)|浏览(135)

我会认为这是可能的,但由于常见的话,我无法谷歌是否这是可能的,如果是的,我做错了什么。我需要有一个按钮,在一个自定义视图与drawrect,并有它响应选择器

// in drawrect

    [myButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
    ....

}

-(void)buttonClicked
{
    NSLog(@"you clicked the button");
}

并且在运行时得到一个无法识别的选择器错误:

2013-11-21 20:06:24.847 customui[8529:70b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[IAMax buttonClicked:]: unrecognized selector sent to instance 0x8ca7d00'

这可能吗?我在做什么?事先谢谢你

t40tm48m

t40tm48m1#

你的动作选择器和实际的方法不一样,一个是buttonClicked:,另一个是buttonClicked
更改选择器以匹配实际方法。

@selector(buttonClicked)
qacovj5a

qacovj5a2#

[myButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];

在代码@selector(buttonClicked:)中,您添加了调用带参数的方法,因此选择器方法必须编写如下:

-(void)buttonClicked:(id)sender
{
    NSLog(@"you clicked the button");
}
sr4lhrrt

sr4lhrrt3#

您应删除:
因为如果你加上:
应在方法名中添加id sender

相关问题