Ipad
ジェスチャレコグナイザーを使用してアプリケーションを実装しようとしています。私のアプリケーションでは、いくつかの小さなもの がUIView
あり、それぞれUIView
にサブビュー(UIButton
)があります。私の必要性は、ボタンをクリックすると、super view
このボタンのユーザーインタラクションオプションがになり YES
、その他のビューuserinteraction
オプションがNOになります。これを実装した後、スーパービューがサブビューを支配します(つまり、1つのビューのユーザーインタラクションオプションがNOになった場合、これはサブビューに影響します)上記の問題を回避するにはどうすればよいですか?
1762 次
1 に答える
0
ストーリーボードまたはxibファイルに事前定義された数のビューとサブビューが設定されていると仮定すると、各ビューにプロパティを追加できます。次に、ジェスチャレコグナイザを使用して、ユーザーがビューをテープに記録したかどうかを判断します。設定したプロパティを使用して、適切なビュー対応プロパティをYESまたはNOに設定できます。
たとえば、IBActionを追加して、次のようなことを行うジェスチャレコグナイザーを検出します。
- (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.
}
}
}
于 2012-02-24T06:42:45.530 に答える