Alp*_*sta 4 iphone uiscrollview
我有一个分页UIScrollView,可以浏览多个全屏图像.我正在平铺页面,动态排队和出列UIViews作为滚动视图页面通过图像集合,基于Apple示例代码.
我有一个工具栏按钮,调用scrollRectToVisible:animated:将UIScrollView移动到特定图像.这非常有效.
问题是,如果您在UIScrollView中单击一下,它会在触摸按钮之前滚动回显示的页面,并且scrollRectToVisible:animated:方法调用滚动视图.
如果您的触摸正在移动,UIScrollView将按预期滚动,并且后续触摸不会导致UIScrollView移回原始页面.
我该如何防止这种行为?
谢谢
JK
Jos*_*phH 12
您需要使用内容偏移而不是scrollRectToVisible,例如:
[pagingScrollView setContentOffset:[self offsetForPageAtIndex:page] animated:YES];
Run Code Online (Sandbox Code Playgroud)
其中offsetForPageAtIndex如下所示:
- (CGPoint)offsetForPageAtIndex:(NSUInteger)index {
CGRect pagingScrollViewFrame = [self frameForPagingScrollView];
CGPoint offset;
offset.x = (pagingScrollViewFrame.size.width * index);
offset.y = 0;
return offset;
}
Run Code Online (Sandbox Code Playgroud)
这是基于WWDC 2010的Apple"photoscroller"示例代码,它具有如下所示的frameForPagingScrollView:
- (CGRect)frameForPagingScrollView {
CGRect frame = [[UIScreen mainScreen] bounds];
frame.origin.x -= PADDING;
frame.size.width += (2 * PADDING);
return frame;
}
Run Code Online (Sandbox Code Playgroud)
该版本的Photoscroller示例代码的完整副本位于:
https://github.com/jogu/WWDC-2010/tree/master/PhotoScroller
归档时间: |
|
查看次数: |
5758 次 |
最近记录: |