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
}