Попробуйте создать подкласс UIScrollView
и переопределить hitTest:withEvent:
, чтобы UIScrollView
поднял касания за его пределами.Примерно так:
@interface MagicScrollView : UIScrollView
@end
@implementation MagicScrollView
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
// Intercept touches 100pt outside this view's bounds on all sides
if (CGRectContainsPoint(CGRectInset(self.bounds, -100, -100), point)) {
return self;
}
return nil;
}
@end
Вам также может понадобиться переопределить pointInside:withEvent:
в суперпредставлении UIScrollView
, в зависимости от вашего макета.
См. Следующий вопрос для получения дополнительной информации: взаимодействие за пределами видимости