私はこのコードで遊んできましたが、それを正しく行うことはできません。UIButtonとUITapGestureRecognizerを持つUIScrollView
現在の動作:ボタンをタップしても、UIScrollViewで自由にスクロールできます。私はボタンではないものをタップすると、UITapGestureRecognizerの結果として(私が望むような)メソッドを呼び出します。しかし、私は数秒間ボタンを押したままにして、ボタンのUIControlEventTouchUpInsideをトリガーするためにそれに触れなければなりません。
私は何が起こりたいのですか:まったく同じですが、座っているビューでUITapGestureRecognizerをオフにすると、簡単にUIButtonに触れることができます。ここで
は私のコードです:
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
//...
[cell.xButton addTarget:self action:@selector(xButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
self.delaysContentTouches = YES;
UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapFrom:)];
[self addGestureRecognizer:tapGestureRecognizer];
tapGestureRecognizer.delegate = self;
}
}
- (void) handleTapFrom: (UITapGestureRecognizer *)recognizer
{
[self.header removeKeyboard];
}
これは上のコードと組み合わせると、UIButtonのすべての接触が直接的にそれを押すことを意味します。私はあなたがuiscrollview上でuibuttonsを持っているが、スクロールしているときにそれらに触れることは、直接効果を持っていないiPhoneの踏み台のようにこれを動作させたいと思います。 – Andrew