UIScrollView以编程方式设置contentOffset问题

问题描述

| 我正在创建与“照片”应用类似的ImageViewer。我有一个PagingScrollView,它是视图控制器的视图(在loadView中创建)。这些页面是带有UIImageView子视图的UIScrollViews。一切工作正常,直到我尝试“跳过”(设置内容偏移)到除第一个索引之外的索引。如果我跳过说图像\'i \',则可以正确显示图像,但是如果用户执行了一次轻击手势,contentOffset将自己重置为显示图像'0 \'。该错误不会发生在其他手势(例如拖动)上,并且如果您先进行其他手势(例如先拖动)也不会在触摸上发生。 这是我的ImageViewerController的loadView
- (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;
}
这就是我试图设置内容偏移量的方式
#define myView (UIScrollView *)self.view

[myView setContentOffset:[self contentOffsetForIndex:index]];

[..]

- (CGPoint)contentOffsetForIndex:(NSUInteger)index
{
    return CGPointMake((index * (self.view.frame.size.width)),0);
}
    

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)