我正在开发一个 iPhone 应用程序。当用户点击一个按钮时,在页面上显示一个半透明的 UIImageView(即覆盖整个页面)。现在,由于 UIImageView 是半透明的,因此可以看到其下方的按钮。单击按钮(尽管 UIImageView 位于其顶部)正在处理按钮单击;但我想阻止这一点。当 UIImageView 在顶部时,只有触摸 UIImageView (调用方法)应该可以工作;不应该触摸它下面的任何东西。
问问题
613 次
6 回答
2
假设 yourImageView 是按钮上方的 UIImageView,请执行此操作,
[yourImageView setUserInteractionEnabled:YES];
于 2012-10-02T05:56:24.357 回答
1
您有以下选择:首先确保 UIImageView 位于按钮之上。使用bringSubviewToFront 将如果放在前面
- 您可以禁用 UIImageView 的 userInteraction。
- 如果您有任何与 UIImageView 关联的操作,那么您可以更喜欢那里的 UIButton 而不是 UIImageView 并将您的图像设置为 UIButton 的背景,并添加您需要使用此按钮执行的操作。
于 2012-10-02T05:57:34.307 回答
0
your_semi_transparent_ImageView.userInteractionEnabled = YES;
于 2012-10-02T05:59:00.900 回答
0
您可以通过单击按钮添加 UIView,然后将 UIImageview 添加为视图的子视图。然后降低uiview的alpha。
于 2012-10-02T06:04:35.707 回答
0
如果您将半透明的 imageView 不是添加到 self.view 而是添加到应用程序的窗口,那就更好了。像这样:
AppDelegate *delegate = (Appdelegate *)[[UIApplication sharedApplication] delegate];
[delegate.window addSubview:yourImageView];
要删除 yourImageView 只需使用
[yourImageView removeFromSuperView];
于 2012-10-02T06:14:56.543 回答
-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
于 2012-10-02T05:55:10.493 回答