我正在创建一个类似于照片应用的ImageViewer。我有一个PagingScrollView,它是视图控制器的视图(在loadView中创建)。这些页面是带UIImageView子视图的UIScrollViews。一切工作hunky dory,直到我试图'跳过'(设置内容偏移量)除了第一个索引之外的索引。如果我跳过说,图像'我',图像正确显示,但如果用户执行一个轻击手势contentOffset重置自己回显示图像'0'。该错误不会与其他手势(例如拖动)发生,如果您先执行其他手势,则不会发生触摸。UIScrollView以编程方式设置contentOffset问题
这是我的ImageViewerController
- (void)loadView
{
//Make the outer spaging scroll view
CGRect pagingScrollViewFrame = [self frameForPagingScrollView];
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:pagingScrollViewFrame];
scrollView.pagingEnabled = YES;
scrollView.backgroundColor = [UIColor blackColor];
scrollView.showsVerticalScrollIndicator = NO;
scrollView.showsHorizontalScrollIndicator = NO;
scrollView.contentSize = [self contentSizeForPagingScrollView];
scrollView.delegate = self;
self.view = scrollView;
}
这是我正在尝试设置内容的loadView偏移
#define myView (UIScrollView *)self.view
[myView setContentOffset:[self contentOffsetForIndex:index]];
[..]
- (CGPoint)contentOffsetForIndex:(NSUInteger)index
{
return CGPointMake((index * (self.view.frame.size.width)), 0);
}
也许张贴手势识别?这里的一切对我来说都很好。 水龙头是否调用某种类型的contentOffset更改? – Jensen2k 2011-06-13 22:54:07
我不添加任何我自己的手势识别器。点击正在被分页滚动视图捕获,并将其contentOffset重置为显示第0页。虽然这样做我得到scrollViewDidScroll委托消息 – Mike 2011-06-14 15:57:45
我遇到同样的问题,在iOS 6中,它为iOS 5的工作正常。此外,一旦我禁用pagingEnabled或如果我禁用滚动动画,此错误消失。任何人都知道更好的方法来解决这个问题? – AmineG 2013-06-07 08:14:31