2012-03-16 22 views
0

ゲームのUIViewのタッチイベントを無効にしようとしていますが、userInteractionEnabled = NOを設定しても効果がないようです。これは私がアプリケーションで持っている唯一のビューです。userInteractionEnabledがタッチイベントを無効にしていません

ビューでisUserInteractionEnabledをチェックすると、NOを返します。

私の-(void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)eventメッセージは、UIViewではなく、私のUIViewController経由で取得しています。ルートUIViewControllerを追加して以来、私はもはやタッチイベントをUIViewに送信しません。

ここで何か問題がありますか? userInteractionEnabled = NOを設定すると、すべてのタッチイベントが発生しなくなります。

+0

viewController.view.userInteractionEnabled = NOも設定してください。 –

答えて

0

インタフェースビルダで[ユーザインタラクションを有効にする]のチェックを外すと、コンポーネントは実際にその設定を無視します。 UITextViewはこの動作の例です。この問題を回避する方法は、明示的にuserInteractionEnabledをawakeFromNibメソッドとinitWithFrameメソッド内でNOに設定することです。サブクラスの例。

-(void) awakeFromNib { 
    [self setup]; 
} 
-(id) initWithFrame:(CGRect) frame { 
    self = [super initWithFrame: frame]; 
    if(self) { 
     [self setup]; 
    } 
} 
-(void) setup { 
    self.userInteractionEnabled = NO; 
} 
関連する問題