UIImageView允许触摸它下面的按钮

时间:2012-10-02 05:51:07

标签: iphone ios cocoa-touch

开发iPhone应用程序。当用户点击按钮时,在页面上显示半透明的UIImageView(即覆盖整个页面)。现在,由于UIImageView是半透明的,因此可以看到它下面的按钮。单击按钮(虽然UIImageView位于其顶部)导致按钮单击被处理;但我想阻止这一点。当UIImageView位于顶部时,只触摸UIImageView(调用方法)应该可以正常工作;触摸它下面的任何东西都不应该。

6 个答案:

答案 0 :(得分:2)

假设yourImageView是您按钮上方的UIImageView,请执行此操作,

[yourImageView setUserInteractionEnabled:YES];

答案 1 :(得分:1)

您有以下替代方案: 首先确保UIImageView位于按钮顶部。如果使用bringSubviewToFront

,请带上前面
  1. 您可以禁用UIImageView的userInteraction。
  2. 如果您有任何与UIImageView相关联的操作,那么您可以选择UIButton而不是UIImageView,并将您的图像设置为UIButton的背景,并添加您使用此按钮执行所需的操作。

答案 2 :(得分:0)

your_semi_transparent_ImageView.userInteractionEnabled = YES;

答案 3 :(得分:0)

您可以在单击按钮时添加UIView,然后将UIImageview添加为视图的子视图。然后减少uiview的alpha。

答案 4 :(得分:0)

如果您将半透明的imageView添加到self.view,而不是添加到应用程序的窗口,那会更好。像这样:

AppDelegate *delegate = (Appdelegate *)[[UIApplication sharedApplication] delegate];
[delegate.window addSubview:yourImageView];

要删除yourImageView,请使用

[yourImageView removeFromSuperView];

答案 5 :(得分:-1)

显示ImageView时隐藏和禁用按钮:

[button setEnabled:NO]; // If you want the button not to respond
[button setHidden:YES]; // If you want the button not to be seen