我有一个imageView,在我将它添加到屏幕后,我将其释放。 在此之前,我使用此代码在其上添加了一个按钮。
button = [[UIButton buttonWithType:UIButtonTypeCustom] retain];
button.frame = CGRectMake(128.00, 128.00, 23.00, 40.00);
[button setBackgroundImage:[UIImage imageNamed:@"move.png"] forState:UIControlStateNormal];
[button addTarget:self action:@selector(showAddress:) forControlEvents:UIControlEventTouchUpInside];
[imageView addSubview:button];
- (void) showAddress:(id)sender
{
NSLog(@"Working");
}
按钮出现但单击它以调用功能时没有任何反应。甚至没有压迫 - 没有压迫。这是因为我发布了imageView吗?
答案 0 :(得分:1)
已编辑:检查UIImageView的userInteractionEnabled属性是否设置为YES - 默认设置为NO,这就是UIImageView(及其子视图)不响应触摸事件的原因。我只是在我的代码中将它设置为YES,它工作正常。
还有一个注意事项 - 当您将按钮添加到另一个视图时,它将获得该按钮的所有权,并且当您将其保留在代码中时,您也应该将其释放。 (或者在这种情况下不保留)