У меня есть массив изображений URl из этого массива, я отобразил мои изображения в Scrollview, потому что я хочу воспользоваться преимуществами пейджинга и масштабирования, так что я должен сделать для достижения этой задачи? Предположим, что мой массив содержит 10 URL-адресов, а затем каждый раз прокрутка, я должен получить другое изображение, и я мог бы также выполнять масштабирование и масштабирование любого из 10 изображений, поэтому, пожалуйста, дайте мне некоторые рекомендации для достижения моей задачи. Спасибо в Advance.Как я могу обеспечить Zoomin-Zoomout, функцию пейджинга в UIScrollView?
1
A
ответ
0
Попробуйте
- (void)setCurrentPage:(NSUInteger)page {
if (page == offsetX)
return;
offsetX = page;
// in a real app, this would be a good place to instantiate more view controllers -- see SDK examples
}
- (CGSize)pageSize {
CGSize pageSize = scrollView1.frame.size;
if (UIInterfaceOrientationIsLandscape(self.interfaceOrientation))
return CGSizeMake(pageSize.height, pageSize.width);
else
return pageSize;
}
- (void)setPagingMode {
// reposition pages side by side, add them back to the view
CGSize pageSize = [self pageSize];
NSUInteger page = 0;
for (UIView *view in imgViewArray) {
if (!view.superview)
[scrollView1 addSubview:view];
view.frame = CGRectMake(pageSize.width * page++, 0, pageSize.width, pageSize.height);
}
scrollView1.pagingEnabled = YES;
scrollView1.showsVerticalScrollIndicator = scrollView1.showsHorizontalScrollIndicator = NO;
scrollView1.contentSize = CGSizeMake(pageSize.width * [imgViewArray count], pageSize.height);
scrollView1.contentOffset = CGPointMake(pageSize.width * offsetX, 0);
scrollViewMode = ScrollViewModePaging;
}
- (void)setZoomingMode {
NSLog(@"setZoomingMode");
scrollViewMode = ScrollViewModeZooming; // has to be set early, or else currentPage will be mistakenly reset by scrollViewDidScroll
// hide all pages except the current one
NSUInteger page = 0;
for (UIView *view in imgViewArray)
if (offsetX != page++)
[view removeFromSuperview];
scrollView1.pagingEnabled = NO;
scrollView1.showsVerticalScrollIndicator = scrollView1.showsHorizontalScrollIndicator = YES;
pendingOffsetDelta = scrollView1.contentOffset.x;
scrollView1.bouncesZoom = YES;
}
- (void)scrollViewDidScroll:(UIScrollView *)aScrollView
{
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
// offsetX=(aScrollView.contentOffset.x)/768;
//NSLog(@"Page No:%d",offsetX);
if (scrollViewMode == ScrollViewModePaging)
[self setCurrentPage:roundf(scrollView1.contentOffset.x/[self pageSize].width)];
}
else
{
//offsetX=(aScrollView.contentOffset.x)/320;
//NSLog(@"Page No:%d",offsetX);
if (scrollViewMode == ScrollViewModePaging)
[self setCurrentPage:roundf(scrollView1.contentOffset.x/[self pageSize].width)];
}
}
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)aScrollView
{
NSLog(@"viewForZoomingInScrollView");
if (scrollViewMode != ScrollViewModeZooming)
[self setZoomingMode];
return [imgViewArray objectAtIndex:offsetX];
}
- (void)scrollViewDidEndZooming:(UIScrollView *)aScrollView withView:(UIView *)view atScale:(float)scale {
NSLog(@"scrollViewDidEndZooming");
if (scrollView1.zoomScale == scrollView1.minimumZoomScale)
[self setPagingMode];
else if (pendingOffsetDelta > 0) {
UIView *view = [imgViewArray objectAtIndex:offsetX];
view.center = CGPointMake(view.center.x - pendingOffsetDelta, view.center.y);
CGSize pageSize = [self pageSize];
scrollView1.contentOffset = CGPointMake(scrollView1.contentOffset.x - pendingOffsetDelta, scrollView1.contentOffset.y);
scrollView1.contentSize = CGSizeMake(pageSize.width * scrollView1.zoomScale, pageSize.height * scrollView1.zoomScale);
pendingOffsetDelta = 0;
}
}
Смежные вопросы
- 1. Как я могу преобразовать функцию пейджинга для использования AJAX Insead?
- 2. UIScrollView пейджинга с 2 видами
- 3. Использование UIScrollView с поддержкой пейджинга
- 4. Как я могу обеспечить надежную функцию обратного вызова?
- 5. Как я могу обеспечить состояние реакции, а затем вызвать функцию?
- 6. UIPageViewController ИЛИ UIScrollView с пейджинга Enabled = YES
- 7. Как настроить поведение пейджинга в UIScrollView с помощью pagingEnabled = YES?
- 8. UITextView Прокрутка внутри пейджинга UIScrollView не работает
- 9. Как я могу обеспечить постоянство в рельсах?
- 10. Как сделать горизонтальный пейджинг без вертикального пейджинга в UIScrollView
- 11. Как я могу добавить ярлык в UIScrollView?
- 12. Как я могу обеспечить предоставление гранта?
- 13. Как я могу обеспечить согласованность зерен orleans?
- 14. Как я могу обеспечить Task.Delay более точным?
- 15. Как я могу обеспечить безопасность весной?
- 16. Как я могу обеспечить caffe, используя GPU?
- 17. Как я могу обеспечить безопасность ниндзя-потока
- 18. UIScrollView: как перейти на следующую страницу, с поддержкой пейджинга?
- 19. Как я могу обеспечить правильный путь базы?
- 20. Добавление пейджинга в функцию повторителя asp ASP.Net
- 21. Как я могу пересмотреть subview внутри UIScrollView?
- 22. Как я могу отменить масштабирование масштабирования UIScrollView?
- 23. Как я могу отменить - [UIScrollView zoomToRect: animated:]?
- 24. Как я могу сделать UIScrollView/UIPageControl бесконечным?
- 25. Как я могу использовать C# TwilioRestClient и nextpageuri для пейджинга
- 26. Как я могу изменить этот Select2 javascript для включения пейджинга?
- 27. Могу ли я использовать UIRefreshControl в UIScrollView?
- 28. Как я могу имитировать инерционную прокрутку в пользовательском UIView, когда я не могу использовать UIScrollView?
- 29. как обеспечить функцию печати в Android приложении
- 30. как обеспечить функцию печати в PHP
и вашу попытку или уровень понимания есть? – Hailwood
Я действительно реализовал scrollview и пейджинг, также работая над проблемой Zooing. –