添加一个图像按钮,然后按一下按钮没有检测

问题描述:

我添加了一个自定义按钮,并且加入了UIImage它。自从我加入了图像,我不能按一下按钮,它需要3-4企图待检测的点击的代码执行。为什么是这样 ?添加一个图像按钮,然后按一下按钮没有检测

UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom]; 
    UIImage *buttonImage = [UIImage imageNamed:@"button.png"]; 
[button setBackgroundImage:buttonImage forState:UIControlStateNormal];  
button.frame = CGRectMake(10.0, 90.0, 150.0, 40.0); 
button.backgroundColor = [UIColor clearColor]; 
[button addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];  
[customView addSubview:button]; 

的buttonClick方法:

-(void)buttonClick:(id)sender { 
NSLog (@"Click"); 
} 
+2

当你注释掉图像部分,做它实际上更好地工作?我想不出任何办法的图像会影响一个可点击的按钮......除非像让你点击错了地方? – Ahti 2012-03-19 02:28:00

+1

检查customView框架。这对按钮来说足够大吗? – ArunGJ 2012-03-19 04:16:02

+0

刚刚尝试过你的代码,似乎工作正常,但是我做了'[self.view addSubview:button]',尝试'self.view'并查看可点击性是否有任何变化。 – iNoob 2012-03-19 04:27:16

@Illep我用你的代码在一个演示应用程序,并增加了button.png为好。代码工作非常好。

由于要添加此按钮,独立的观点,即

[customView addSubview:button]; 

所以有相当多的机会,要么这个customView或按钮的用户交互取得了一些添加您的customView的帧(外尽管机会相当少)。你可以通过设置clipSubView为TRUE,您customView检查这个..

enter image description here

希望它能帮助。

+1

问题可能是你的'customView'区域,当按钮不适合它的区域,那么你不能与它进行交互。由于拉胡尔建议使用clipToSubview为TRUE。然后按钮将成为自定义视图的焦点/您可以记录位置和大小以进行比较。如果不是再次添加注释,希望它有所帮助。 – iDroid 2012-03-19 04:44:34