2011-02-26 4 views
1

У меня возникли проблемы, из-за которых мой 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 с соответствующим фреймом и сообщал о любых изменениях в поведении приложения.

ответ

1

на первый взгляд я просто заметить большой ContentSize ширина и небольшой высоту ... вы уверены, что вам это нужно, чтобы быть 1000 х (всего) 169?

И каковы размеры bpmGraphView?

И почему бы вам не сделать init bpmGraphView с измерением? Это UIView, вы должны инициализировать его, давая ему рамку, с initWithFrame:, а не только init.

А также: дайте нам размер вашего UIScrollView, единственное измерение вы даете нам это UIScrollView.contentSize ...

+0

Причина, по которой мне нужна большая ширина, заключается в том, что этот вид содержит xy-тип графика, который растет только в направлении x, поэтому мне нужно иметь возможность строить все больше и больше значений вдоль оси x (тогда как соответствующая y значения ограничены, чтобы оставаться в определенном диапазоне). Что касается вашего другого вопроса, я отредактирую свой вопрос. –

+0

Хорошо, проблема в том, что у меня был достаточно большой размер для подслоя, поэтому граф был утоплен, но 'UIView', удерживающий слой, не имел размера (так как я не изменил его фрейм или не использовал' initWithFrame '), поэтому прокрутки не было. Странно, что она вообще прокручивалась до какого-либо жестов увеличения ... –

Смежные вопросы