Objective c UIScrollView中的UIButton不工作

Objective c UIScrollView中的UIButton不工作,objective-c,ios,uibutton,selector,unrecognized-selector,Objective C,Ios,Uibutton,Selector,Unrecognized Selector,我有一个scrollview,在其中我以编程方式创建按钮。触摸时,按钮应该加载另一个笔尖。问题是,一接触,我就会 [ViewController buttonTest]:发送到实例的选择器无法识别 让我带您浏览代码: appdelegate.h @interface AppDelegate : UIResponder <UIApplicationDelegate> @property (strong, nonatomic) UIWindow *window; @property (s

我有一个scrollview,在其中我以编程方式创建按钮。触摸时,按钮应该加载另一个笔尖。问题是,一接触,我就会 [ViewController buttonTest]:发送到实例的选择器无法识别

让我带您浏览代码:

appdelegate.h

@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) UINavigationController *viewController;
Viewcontroller.h

@class newView;

@interface ViewController : UIViewController{

    UIScrollView * scrollView;
    IBOutlet UIButton *btn;

}

- (IBAction)butttonTest:(id)sender;
    @property (strong, nonatomic) newView *secondView;
最后是ViewController.m

- (void)loadView {

    CGRect fullScreenRect=[[UIScreen mainScreen] applicationFrame];
    scrollView=[[UIScrollView alloc] initWithFrame:fullScreenRect];
    scrollView.contentSize=CGSizeMake(320,960);
    UIImageView *tempImageView2 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image.jpeg"]];

    UIImage * buttonImage = [UIImage imageNamed:@"contentlist_active.png"];

    self.view=scrollView;
    [scrollView addSubview:tempImageView2];
    scrollView.userInteractionEnabled = YES;
    btn = [UIButton buttonWithType:UIButtonTypeCustom];
    btn.frame = CGRectMake(22, 100, 277, 32);
    [btn setBackgroundImage:buttonImage forState:UIControlStateNormal];
    [btn setTitle:@"hello world" forState:UIControlStateNormal];
    [btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

    [btn addTarget:self action:@selector(buttonTest:) forControlEvents:UIControlEventTouchUpInside];

    [scrollView addSubview:btn];

}
要加载视图,我有以下代码:

[btn addTarget:self action:@selector(buttonTest) forControlEvents:UIControlEventTouchUpInside];
我做错了什么

哦,是的,这是buttenPressed的方法

- (IBAction)butttonTest:(id)sender {
self.secondView = [[newView alloc] initWithNibName:@"newView" bundle:nil];

[self.navigationController pushViewController:self.secondView animated:YES];

}

您是否实现了buttonTest:方法(我在上面的代码中没有看到)?

您的方法称为
-(iAction)butttonTest:(id)sender
。 三个
t
和一个参数

但是您的选择器是
@selector(buttonTest)
。两个
t
且无参数

这两个方法签名不匹配

更改
addTarget:action:forControlEvents:
调用,如下所示:

[btn addTarget:self action:@selector(butttonTest:) forControlEvents:UIControlEventTouchUpInside];
或者移除两个上的第三个t

试试这个:

[btn addTarget:self action:@selector(buttonTest:) forControlEvents:UIControlEventTouchUpInside];
注意
buttonest:
而不是
buttonest

[btn addTarget:self action:@selector(buttonTest:) forControlEvents:UIControlEventTouchUpInside];