【发布时间】:2014-03-28 07:17:31
【问题描述】:
您好,我正在使用 uiscrollview 实现应用程序。在 uiscroll 视图中,我有 imageview 来加载图像。我可以像 1,2,3,4,...10 一样滚动和向前移动,但是当我在第一个图像中时,我想向后滚动也像 1 到 10,9,8... 可以任何人都可以帮助我在我的代码中添加什么,谢谢
这是我实现的示例代码
- (void)loadScrollViewWithPage:(int)page {
if(page < 0 || (page >= [flashCardArry count]))
return;
FlashcardViewController *flashViewCntlObj = [flashCardViewController objectAtIndex:page%3];
//if (nil == flashViewCntlObj.view.superview)
{
CGRect frame = cardsScrollView.frame;
frame.origin.x = frame.size.width * page;
NSLog(@"%f",frame.origin.x);
frame.origin.y = 0;
flashViewCntlObj.view.frame = frame;
[cardsScrollView addSubview:flashViewCntlObj.view];
[flashViewCntlObj setflashcardObj:[flashCardArry objectAtIndex:page]];
}
}
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
//iscardAttended = NO;
CGFloat pageWidth = cardsScrollView.frame.size.width;
NSUInteger page = floor((self.cardsScrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
if(page + 1 == [flashCardArry count]){
for (NSUInteger i = 0; i < [flashCardArry count]; ++i) {
int nElements = [flashCardArry count] - i;
int n = (arc4random() % nElements) + i;
[flashCardArry exchangeObjectAtIndex:i withObjectAtIndex:n];
}
[self.cardsScrollView scrollRectToVisible:CGRectMake(self.cardsScrollView.frame.size.width * 0 , 0, self.cardsScrollView.frame.size.width, self.cardsScrollView.frame.size.height) animated:NO];
}
}
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
CGFloat pageWidth = cardsScrollView.frame.size.width;
NSUInteger page = floor((self.cardsScrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
DBWrapper *dbWrapper = [DBWrapper sharedWrapper];
[self loadScrollViewWithPage:page - 1];
[self loadScrollViewWithPage:page];
[self loadScrollViewWithPage:page + 1];
}
【问题讨论】:
-
看起来像无限滚动视图.. 看到这个stackoverflow.com/questions/11862653/…
标签: ios objective-c uiscrollview