开发iPhone应用程序。当用户点击按钮时,在页面上显示半透明的UIImageView(即覆盖整个页面)。现在,由于UIImageView是半透明的,因此可以看到它下面的按钮。单击按钮(虽然UIImageView位于其顶部)导致按钮单击被处理;但我想阻止这一点。当UIImageView位于顶部时,只触摸UIImageView(调用方法)应该可以正常工作;触摸它下面的任何东西都不应该。
答案 0 :(得分:2)
假设yourImageView是您按钮上方的UIImageView,请执行此操作,
[yourImageView setUserInteractionEnabled:YES];
答案 1 :(得分:1)
您有以下替代方案: 首先确保UIImageView位于按钮顶部。如果使用bringSubviewToFront
,请带上前面答案 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