我正在創建一個類似於照片應用的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