Ipad IOS 4.2中无法使用UIButton addTarget方法

Ipad IOS 4.2中无法使用UIButton addTarget方法,ipad,ios4,uibutton,target,Ipad,Ios4,Uibutton,Target,我有一个UIButton是以编程方式创建的,我想为该按钮添加目标和操作。我使用了方法addTarget:action:forControlEvents: 在IOS 4.1中可以检测到这种方法,但在4.2中没有,这是我的代码 UIButton *moreButton = [[[UIButton alloc] init] autorelease]; float version = [[[UIDevice currentDevice] systemVersion] floatValue];

我有一个UIButton是以编程方式创建的,我想为该按钮添加目标和操作。我使用了方法
addTarget:action:forControlEvents:

在IOS 4.1中可以检测到这种方法,但在4.2中没有,这是我的代码

UIButton *moreButton = [[[UIButton alloc] init] autorelease];

float version = [[[UIDevice currentDevice] systemVersion] floatValue]; 
    if(version <= 4.1){
        moreButton = [[UIButton buttonWithType:UIButtonTypeCustom] initWithFrame:CGRectMake(6.3+5*widthSegment, 0.0, widthSegment, heightSegment)];
        [moreButton addTarget:self action:@selector(getPopOverMore:) forControlEvents:UIControlEventTouchUpInside];
    }
    else{
        //version 4.2
        NSLog(@"versi 4.2");
        moreButton = [UIButton buttonWithType:UIButtonTypeCustom];
        moreButton.frame = CGRectMake(6.3+7*widthSegment, 0.0, widthSegment, heightSegment);
        [moreButton addTarget:self action:@selector(getPopOverMore:) forControlEvents:UIControlEventTouchUpInside];
    }
}


任何人都知道,这里出了什么问题???

应该有用。另外,您不需要手动设置
ui按钮上的
iAction
的initWithFrame

[moreButton addTarget:self action:@selector(getPopOverMore:)       
 forControlEvents:UIControlEventTouchUpInside];

You need to declare in your file.m:

-(void)getPopOverMore:(id)sender{
}

是的,它应该可以工作,这段代码的错误是我使用UIButton作为全局变量,但我没有分配它。我真的忘了。现在,我已经解决了这个问题,我已经编辑了上面的代码。谢谢你的回答
[moreButton addTarget:self action:@selector(getPopOverMore:)       
 forControlEvents:UIControlEventTouchUpInside];

You need to declare in your file.m:

-(void)getPopOverMore:(id)sender{
}