У меня возникли проблемы, из-за которых мой UIScrollView
демонстрирует прокрутку и масштабирование. Мой класс (какие подклассы UIScrollView
) имеет UIView
в качестве подзадачи, и в этом подзадаче я рисую на CALayer
. Как только приложение запустится, я могу прокрутить представление, но, как только я увеличиваю масштаб с помощью жесткого щели, функция прокрутки перестает работать, и работает только масштаб. Мой код:Создание UIScrollView как для прокрутки, так и для увеличения
bpmGraphView = [[UIView alloc] init];
//--- configure the scroll-view and add the graph-view as a subview
[self setZoomScale:1.0];
[self setContentSize:CGSizeMake(1000.0, 169.0)];
[self setMultipleTouchEnabled:YES];
[self setScrollEnabled:YES];
self.maximumZoomScale = 20.0;
self.minimumZoomScale = 0.05;
self.clipsToBounds = YES;
self.delegate = self; //--- set the scroll-view delegate to self
[self addSubview:bpmGraphView];
И метод делегата:
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
return [self bpmGraphView];
}
Любые идеи?
EDIT
Некоторые размеры: Мой UIScrollView
является 320x169 и позиционируется 7 пикселей вправо от левого края экрана. Прокручиваемый (0) UIView
внутри должен иметь одинаковую высоту, но начинать 30 пикселей слева от UIScrollView
и заканчиваться где-то далеко вправо - 1000 - всего лишь тестовый номер. Подслой, который я добавляю к UIView
, должен иметь тот же размер и позицию, что и надзор. Я запустил UIView
с соответствующим фреймом и сообщал о любых изменениях в поведении приложения.
Причина, по которой мне нужна большая ширина, заключается в том, что этот вид содержит xy-тип графика, который растет только в направлении x, поэтому мне нужно иметь возможность строить все больше и больше значений вдоль оси x (тогда как соответствующая y значения ограничены, чтобы оставаться в определенном диапазоне). Что касается вашего другого вопроса, я отредактирую свой вопрос. –
Хорошо, проблема в том, что у меня был достаточно большой размер для подслоя, поэтому граф был утоплен, но 'UIView', удерживающий слой, не имел размера (так как я не изменил его фрейм или не использовал' initWithFrame '), поэтому прокрутки не было. Странно, что она вообще прокручивалась до какого-либо жестов увеличения ... –