2017-01-17 2 views
0

Я загрузил pdf в scrollview, и я хотел бы перейти непосредственно на следующую страницу без прокрутки анимации.Как отключить прокрутку анимации в UIScrollView в Objective C?

CGRect scrollViewRect = CGRectInset(viewRect, -scrollViewOutset, 0.0f); 

theScrollView = [[UIScrollView alloc] initWithFrame:scrollViewRect]; // All 
theScrollView.autoresizesSubviews = NO; 
theScrollView.contentMode = UIViewContentModeRedraw; 
theScrollView.showsHorizontalScrollIndicator = NO; 
theScrollView.showsVerticalScrollIndicator = NO; 
theScrollView.scrollsToTop = NO; 
theScrollView.delaysContentTouches = NO; 
theScrollView.pagingEnabled = YES; 
theScrollView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight); 
theScrollView.backgroundColor = [UIColor clearColor]; 
theScrollView.delegate = self; 

[self.view addSubview:theScrollView]; 

Возможно ли это?

+0

пользователь может прокручивать или вы хотите также отключить взаимодействие с пользователем? – CodeChanger

+0

Я просто хочу удалить анимацию, пользователь все еще может взаимодействовать. Он может перейти на следующую страницу, перейти к предыдущей и т. Д. – Claudio

+0

Вы проверили мой ответ? работает ли она так, как ожидалось? – CodeChanger

ответ

1

Чтобы перейти на прямое смещение вашей следующей страницы, вы должны использовать метод ниже.

[objUIScrollView setContentOffset:CGPointMake(YOUR_X, YOUR_Y) animated:NO] 

animated = NO; 

При загрузке PDF через WebView, чем вы должны следовать ниже код:

webview.scrollView.contentOffset = CGPointMake(YOUR_X, YOUR_Y); 

Примечание: Используйте этот код выше в вашей следующей кнопке страницы или после загрузки WebView правильно может быть в методе ниже.

- (void)webViewDidFinishLoad:(UIWebView *)webView 
{ 
} 

Надеется, что это будет работать, как вы ожидали.

+0

Я пытаюсь поместить его в Viewdidload, но кажется, что он не работает. Может быть, я должен проверять всюду, чтобы быть уверенным, что я не изменю эти значения – Claudio

+0

, поэтому вы хотите перейти на следующую страницу, пока загрузится PDF-файл? или вы пытаетесь что-то еще? – CodeChanger

+0

Это именно то, что я хочу, прыгая на следующей странице, прокручивая справа налево (например, если я нажимаю кнопку «Далее», чтобы перейти к следующей странице), не видя следующую страницу справа от нее. Я хотел бы сразу увидеть следующую страницу. – Claudio

1

Конечно, просто использовать:

[theScrollView scrollRectToVisible:CGRectMake(0.0f, 0.0f, 0.0f, 0.0f) animated:NO]; 

или

[theScrollView setContentOffset:CGPointMake(0.0f, 0.0f) animated:NO]; 

и изменить CGPoint или CGRect на смещение страницы по своему вкусу.

+0

Я пробовал, но, похоже, не работает, я всегда вижу анимацию со страницей goin 'справа налево, например. – Claudio

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