点击UIButton时没有调用该函数?

时间:2009-12-10 09:19:54

标签: iphone uibutton

我有一个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吗?

1 个答案:

答案 0 :(得分:1)

已编辑:检查UIImageView的userInteractionEnabled属性是否设置为YES - 默认设置为NO,这就是UIImageView(及其子视图)不响应触摸事件的原因。我只是在我的代码中将它设置为YES,它工作正常。

还有一个注意事项 - 当您将按钮添加到另一个视图时,它将获得该按钮的所有权,并且当您将其保留在代码中时,您也应该将其释放。 (或者在这种情况下不保留)