2013-08-05 4 views
0

Привет У меня есть UIScrollView внутри UIView. Я попытался использовать фрагменты кода, которые я нашел в Интернете, но они ничего не меняют. Кроме того, они в основном предназначены для изображения или пользовательского представления, выполненного в UIView, тогда как в моем случае у меня есть массив программно созданных UILabels. Я также попытался изменить граничные значения, он просто ничего не делает. Это в основном то, как я устанавливаю его размер в viewDidAppear:Простое увеличение для UIScrollView внутри UIView

[scrollView setContentSize:CGSizeMake([screenView getWidth], [screenView getHeight])]; 


scrollView.showsHorizontalScrollIndicator = true; 
scrollView.showsVerticalScrollIndicator = true; 

screenView - это переменная UIView.

Это те параметры, которые я использую (также в viewDidAppear):

doubleTapRecogniser = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doubleTapResponse:)]; 
    [doubleTapRecogniser addTarget:self action:@selector(doubleTapResponse:)]; 


    doubleTapRecogniser.delegate = self; 

    doubleTapRecogniser.numberOfTapsRequired = 2; 

    [self.scrollView addGestureRecognizer:doubleTapRecogniser]; 

Это, как я реализовал свой двойной метод водопроводного:

- (void) doubleTapResponse:(UITapGestureRecognizer *)recogniser 
{ 

    CGFloat newZoomScale = self.scrollView.zoomScale/1.5f; 
    newZoomScale = MAX(newZoomScale, self.scrollView.minimumZoomScale); 
    [self.scrollView setZoomScale:newZoomScale animated:YES]; 
} 

Когда я использую сообщение NSLog в пределах моих doubleTapResponse, Я могу получить ответы от моей консоли. Однако он ничего не делает. Что может быть проблема? Я использую iOS6.1

+0

Try [Нажмите] [1] [1]: http://stackoverflow.com/questions/8891356/uiimageview-and-uiscrollview-zoomingi надеюсь, что это поможет. –

ответ

0
[doubleTapRecogniser addTarget:scrollView action:@selector(doubleTapResponse:)]; 

должен быть

[doubleTapRecogniser addTarget:self action:@selector(doubleTapResponse:)]; 

потому что Scrollview не знает, что этот метод является doubleTapResponse. В настоящее время он выбрасывает исключение, поскольку пытается вызвать цель UISCrollView с помощью метода doubleTapResponse, вы должны добавить цель self и реализовать этот метод самостоятельно. Здесь идет логика масштабирования, которую я предполагаю.

Вы также должны определить: doubleTapResponse в вашем ViewController (или класс, который вы используете)

увидеть это для получения дополнительной информации: Ray Wenderlich guide

Для того, чтобы увеличить, пожалуйста, смотрите на следующей статье: QUESTION

+0

Все еще получаю ту же ошибку. Также, как я уже упоминал, у меня уже есть метод doubleTapResponse, определенный внутри класса. –

+0

Неужели ошибка точно такая же? Существуют ли какие-либо различия в причине:? –

+0

Да точно то же самое –

0

Ошибка ясно говорит о том, что время выполнения искало метод с именем doubleTapResponse в классе scrollview, который вы используете. Даже если смена цели на себя не работает, в ее определении метода вам нужно изменить либо scrollview, либо viewcontroller.

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