我已经以编程方式创建了 UIButton ,它被添加到同样以编程方式创建的 UIViewController 中。我不知道要传递什么作为 AddTarget。
我目前已在addtarget中传递了optionView.self
UIWindow *window1 = [[UIApplication sharedApplication] keyWindow];
optionView = [[UIViewController alloc]init];
optionView.view.frame=CGRectMake(0, 0, 960, 640);
UIButton *button=[UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame=CGRectMake(0, 0, 200, 100);
[button setTitle:@"Press Me" forState:UIControlStateNormal];
[button addTarget:optionView.self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
[optionView.view addSubview:button];
[window1 addSubview: optionView.view];
这也是我的选择器方法
-(IBAction)buttonClicked:(id)sender{
NSLog(@"This works");
}
而且我还收到以下错误
无法识别的选择器发送到实例 0x1fd7b600'
请注意,我正在使用 Unity3d 游戏引擎。这段代码位于(Unity3d位于APPController.mm中)
最佳答案
您的ViewController optionView
没有buttonClicked选择器,这就是应用程序崩溃的原因。
如果需要,您可以从 ViewController 创建子类,在那里实现您的方法并创建 optionView 作为新类的实例。然后它将响应调用。
或者另一种方式 - 您可以通过使用 buttonClicked
选择器为其创建类别来扩展基本 ViewController 类。
关于objective-c - ios 中的 UIButton AddTarget(不工作-崩溃),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13029363/