2012-02-24 6 views
0

Ipadアプリケーションをジェスチャ認識プログラムで実装しようとしています。私のアプリケーションでは、いくつかの小さなUIViewがあり、それぞれUIViewにはサブビュー(UIButton)があります。ボタンをクリックすると、このボタンのユーザー対話オプションのsuper viewYESになり、その他のビューuserinteractionオプションはNOになります。これを実装した後、サブビューを超過するスーパービュー(あるビューのユーザー対話オプションがNOになった場合、これがサブビューに影響します)。上記の問題を回避するにはどうすればよいですか?ボタンのクリックでuiviewのユーザー対話オプションを有効または無効にするには

答えて

0

ストーリーボードまたはxibファイルに予め定義された数のビューとサブビューが設定されていると仮定すると、ビューごとにプロパティを追加できます。次に、ジェスチャ認識機能を使用して、ユーザーがビューを録画したかどうかを判断します。そうした場合は、設定したプロパティを使用して適切なビューを有効にするプロパティをYESまたはNOに設定できます。

- (IBAction)tap:(UITapGestureRecognizer *)gesture 
{ 
    CGPoint tapLocation = [gesture locationInView:self.aViewWhereYouMonitorGestures]; 
    for (UIView *view in self.aViewWhereYouMonitorGestures.subviews) { 
     if (CGRectContainsPoint(view.frame, tapLocation)) { 
      self.someView.enabled = YES; // or NO depending on what you want to do. 
     } 
    } 
} 

はたとえば、次のような何かをするあなたのジェスチャー認識を検出するために、IBActionを追加します

関連する問題