Создание UIScrollView для прокрутки и масштабирования - PullRequest
1 голос
/ 26 февраля 2011

У меня проблемы с настройкой UIScrollView для прокрутки и масштабирования. Мой класс (который подклассы UIScrollView) имеет UIView как подвид, и в этом подвиде я рисую CALayer. Как только приложение запускается, я могу прокручивать вид, но как только я увеличиваю масштаб с помощью жеста, функция прокрутки перестает работать, и работает только масштабирование. Мой код:

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

Некоторые размеры: My UIScrollView имеет размер 320x169 и располагается на 7 пикселей правее левого края экрана. * (Прокручиваемый) UIView внутри него должен иметь такую ​​же высоту, но начинаться в 30 пикселях слева от UIScrollView и заканчиваться где-то далеко вправо - 1000 - это просто тестовое число. Подслой, который я добавляю к UIView, должен иметь тот же размер и положение, что и его суперпредставление. Я начну UIView с подходящей рамки и сообщу о любых изменениях в поведении приложения.

Ответы [ 2 ]

1 голос
/ 26 февраля 2011

См. Этот пример кода Apple, он содержит все о scrollview http://developer.apple.com/library/ios/#samplecode/ScrollViewSuite/Introduction/Intro.html

1 голос
/ 26 февраля 2011

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

А какие размеры у bpmGraphView?

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...