我在自定义 UIView 中放置了一个 UIButton 并且该按钮没有接收任何触摸事件(它没有进入突出显示状态,所以我的问题不在于无法在处理程序内部连接触摸)。我已经尝试将它放入 Interface Builder 中的 XIB 中,还尝试以编程方式将 UIButton 分别添加到 UIView 中,但都没有成功。我所有的视图都在 UIScrollView 内,所以我首先虽然 UIScrollView 可能会阻止它们,所以我还以编程方式添加了一个按钮,就像我将自定义视图添加到 UIScrollView 中一样,并且按钮工作,消除了 UIScrollView 的可能性成为原因。我的视图的层次结构是这样的:
按钮在图像视图之上,并且前层没有完全占据我的按钮,所以我没有理由不与按钮进行物理交互。在我的自定义视图的代码方面,我正在创建我的视图:
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
UIView *sub = [[[NSBundle mainBundle] loadNibNamed:@"ProfileView" owner:self options:nil] objectAtIndex:0];
[self addSubview:sub];
[sub setUserInteractionEnabled:YES];
[self setUserInteractionEnabled:YES];
CALayer *layer = sub.layer;
layer.masksToBounds = YES;
layer.borderWidth = 5.0;
layer.borderColor = [UIColor whiteColor].CGColor;
layer.cornerRadius = 30.0;
/*layer.shadowOffset = CGSizeZero;
layer.shadowRadius = 20.0;
layer.shadowColor = [[UIColor blackColor] CGColor];
layer.shadowOpacity = 0.8;
*/
}
return self;
}
我已经尝试了所有的组合setUserInteractionsEnabled
,但没有运气。(是的,也将它们设置为在 Interface Builder 中检查)。我还阅读了另一个类似问题的问题,我应该尝试覆盖“canBecomeFirstResponder”以返回“YES”,我也这样做了。但问题依然存在,我无法点击按钮。我没有为按钮提供任何特殊属性和设置,它只是一个普通的。我在视图中的其他对象(下面的标签、按钮后面的图像视图等)工作正常,没有问题。这里可能有什么问题?
谢谢,
能。
更新:这是问题的快速重现:https ://dl.dropbox.com/u/79632924/Test.zip 尝试运行并单击按钮。