У меня есть вид прокрутки, который равен 256x256 по ширине/высоте. У меня есть subviews этого прокрутки, растяжения в обоих направлениях (влево и вправо). Я устанавливаю clipToBounds в NO, чтобы я мог видеть элементы в прокрутке.iOS UIScrollView clipToBounds = NO Подсмотры не обнаружены
Когда пользователь коснется пространства в держателе scrollview (область, которая выходит за пределы 256x256), я проверяю hittest и возвращаю scrollView.
Моя проблема заключается в том, что на моем прокрутке есть кнопки, и если кнопка не находится внутри 256x256, она не получает события касания. Как мне перемещаться по кнопкам на прокрутке, а затем пересылать события на кнопки?
я делаю как этот Paging UIScrollView with peeking neighbor pages
Но мои Scrollview подвиды не получает события.
Я пробовал все следующие, на мой взгляд, которые должны отправлять события по проводам, а мои кнопки не будут получать события. Цепочка событий всегда останавливается в моем представлении UIScroll, позволяя мне прокручивать мои объекты, но как мне пересылать события кнопкам из прокрутки?
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
if ([self pointInside:point withEvent:event]) {
return self.scrollView;
}
return nil;
}
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
if ([self pointInside:point withEvent:event]) {
return self.scrollView;
}
return nil;
}
- (UIView *) hitTest:(CGPoint) point withEvent:(UIEvent *)event {
UIView* child = nil;
if ((child = [super hitTest:point withEvent:event]) == self) {
return self.scrollView;
}
return child;
}
Я сделал scrollview размером, потому что мне нужно, чтобы пейджинг работал правильно. Если я увеличиваю ширину прокрутки до полной ширины, тогда она будет содержать всю ширину (вместо одного значка). Есть ли способ настроить местоположение поискового вызова программно? – spentak