button操作不工作在iPhone?

我有一个iPhone应用程序,其中我添加一个自定义视图,尽pipe导航栏view.i隐藏在正常情况下的自定义视图,并在需要的时候取消隐藏它。现在,我添加一个button,该自定义视图有一个动作。但是当我点击它没有任何行动working.can有人帮助我?这是我的代码片段中的视图didload`

curtainsView=[[UIImageView alloc]init]; curtainsView.image=[UIImage imageNamed:@"curtains.png"]; curtainsView.frame=CGRectMake(0,-44, 320, 60); curtainsView.backgroundColor=[UIColor clearColor]; UIImage *button2Image = [UIImage imageNamed:@"scroll_down.png"]; scroll = [[UIButton buttonWithType:UIButtonTypeCustom] retain]; self.scroll.tag=100; [scroll setImage:button2Image forState:UIControlStateNormal]; self.scroll.frame = CGRectMake(270,0, 40,40); [scroll addTarget:self action:@selector(backpressed:) forControlEvents:UIControlEventTouchUpInside]; [self.curtainsView addSubview:scroll]; [self.view addSubview:curtainsView]; [self changeNavigationBarTitleTo:@""]; [curtainsView setHidden:YES]; 

你必须启用curtainsView的用户交互。

尝试这个:

 [curtainsView setUserInteractionEnabled:YES] 

从Apple的UIImageView类参考

新的图像视图对象被configuration为默认忽略用户事件。 如果要处理UIImageView的自定义子类中的事件,则必须在初始化对象后明确将userInteractionEnabled属性的值更改为YES。

检查backPressed方法的签名。 我绊倒起来没有意识到@select器@selector(backpressed:)寻找:

 -(void)backPressed:(id)sender { // the colon indicates the first argument 

如果您的签名没有发件人参数,您将需要添加一个或在@select器中删除冒号。 即:

 -(void)backPressed 

我不知道你的整个代码为什么你隐藏视图,但是我想说的是你的UIButton添加到你的self.curtainsView而不是self.curtainsView
只要在你的代码中做一点改动。

 [self.view addSubview:curtainsView]; [self.view addSubview:scroll]; 

启用curtainsView的用户交互。

 [curtainsView setUserInteractionEnabled:YES]