Вы не можете отключить сенсорные события перетаскивания, но можете использовать альтернативную обработку их.Вам нужно обрабатывать обработчики событий Touch.Когда мы проводим влево или вправо, происходит событие TouchCancel, а когда вы проводите пальцем вверх или вниз, вызывается TouchDragExit.Убедитесь, что реализованы оба.
@ property (nonatomic) BOOL buttonFullyTouched;,,,// Touch Down Event
- (IBAction)filterTouchedDown:(id)sender
{
_nameButton.selected = NO;
_codeButton.selected = NO;
_dateButton.selected = NO;
_filterFullyTouched = NO;
}
// Touch Drag Exit Event
- (IBAction)buttonDragExit:(id)sender
{
if (!_buttonFullyTouched)
{
UIButton *randomButton = (UIButton *)[_groupView viewWithTag:_previousButtonSelectedTag + 2000];
randomButton.selected = YES;
}
}
// Touch Cancel Event
- (IBAction)buttonTouchCancel:(id)sender
{
if (!_buttonFullyTouched)
{
UIButton *randomButton = (UIButton *)[_groupView viewWithTag:_previousButtonSelectedTag + 2000];
randomButton.selected = YES;
}
}
// Событие TouchUpInside
- (IBAction)groupButtonTapped:(id)sender
{
_nameButton.selected = NO;
_codeButton.selected = NO;
_dateButton.selected = NO;
_buttonFullyTouched = YES;
// logic for further code
}