2

iPhoneアプリを開発しています。ユーザーがボタンをタップすると、半透明の UIImageView がページに表示されます (つまり、ページ全体をカバーします)。UIImageView は半透明なので、その下にあるボタンが表示されます。ボタンをクリックすると(UIImageViewはその上にありますが)、ボタンクリックが処理されます。しかし、私はこれを止めたいです。UIImageView が一番上にある場合、(メソッドを呼び出す) UIImageView に触れるだけで機能します。その下にあるものに触れてはいけません。

4

6 に答える 6

2

yourImageViewがボタンの上のUIImageViewであると仮定し、これを実行します。

[yourImageView setUserInteractionEnabled:YES];
于 2012-10-02T05:56:24.357 に答える
1

次の選択肢があります。まず、UIImageViewがボタンの上にあることを確認します。bringSubviewToFrontを使用して前面に移動します

  1. UIImageViewのuserInteractionを無効にすることができます。
  2. UIImageViewに関連付けられたアクションがある場合は、UIImageViewではなくUIButtonを優先して、画像をUIButtonの背景として設定し、このボタンで実行するために必要なアクションを追加できます。
于 2012-10-02T05:57:34.307 に答える
0

半透明のimageViewをself.viewではなく、アプリケーションのウィンドウに追加するとよいでしょう。このような:

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

yourImageViewを削除するには、

[yourImageView removeFromSuperView];
于 2012-10-02T06:14:56.543 に答える
0
your_semi_transparent_ImageView.userInteractionEnabled = YES;
于 2012-10-02T05:59:00.900 に答える
0

ボタンをクリックして UIView を追加し、UIImageview をビューのサブビューとして追加できます。次に、uiview のアルファを減らします。

于 2012-10-02T06:04:35.707 に答える
-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 に答える