В основном ...
У меня есть подкласс UIScrollView, в который вы также можете добавить цель и селектор, которые запускаются, если в представлении обнаруживается событие касания. Я использую представление прокрутки в качестве галереи изображений, а касание в представлении прокрутки используется для затухания компонентов HUD (UItoolBar и т. Д.):
@implementation TouchableScrollView
- (void)addTarget:(id)_target withAction:(SEL)_action
{
target = _target;
action = _action;
shouldRun = NO;
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
shouldRun = YES;
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
shouldRun = NO;
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
if(shouldRun)
{
shouldRun = NO;
[target performSelector:action];
}
}
@end
Затем у меня есть другой пользовательский UIView, добавленный в качестве подпредставления к этому, который имеет следующий набор (с обоими, с которыми я поиграл):
self.userInteractionEnabled = YES;
self.exclusiveTouch = YES;
и использует следующее для запуска анимации:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
Проблема в том, что даже когда пользовательский UIView обнаруживает прикосновение и отвечает (переворачивая себя), селектор UIScrollView также срабатывает, вызывая затухание всего.
Пожалуйста, помогите, я полностью застрял?!