iOS開発を学んでおり、のを見ていUIGestureRecognizerます。
私には見解があります。そのビューをタップすると、 を表示したいと思います。また、押すと「ハイライト」するという点で、UIPopoverControllerのように動作するようにしたいと考えています。UIButton
私がこれを行うと思った方法は、2UIGestureRecognizerの - aUITapGestureRecognizerと aを使用することでしたUILongPressGestureRecognizer
私が直面している問題は、ハイライト メソッドがすぐに呼び出されることです (これは私が望んでいます) が、指を十分に動かすUITapGestureRecognizerとキャンセルされます。その時点で、別のメソッド ( unhighlight) を呼び出して の初期の背景色を復元したいUIViewのですが、これを行う方法がわかりません。
私はこれにまったく慣れていないので、この質問はおそらく基本的なものであり、誰かが私にできる助けに感謝します.
でUIViewController:
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(togglePopover)];
[self.view addGestureRecognizer:tap];
UILongPressGestureRecognizer *press = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(highlight)];
press.minimumPressDuration = 0.f; //highlight immediately
press.delegate = self; //set the delegate to self
[self.view addGestureRecognizer:highlight];
//the delegate part of the UIViewController
- (BOOL)gestureRecognizer:(UIGestureRecognizer*)gestureRecognizer shouldRecognizeSimultaneouslyWithOtherGestureRecognizer:(UIGestureRecognizer*)otherGestureRecognizer {
return YES; //allows allow simultaneous recognition of gestures on this view
}