Ipad UIScrollView-分页UIImage大于屏幕宽度

Ipad UIScrollView-分页UIImage大于屏幕宽度,ipad,uiscrollview,paging,Ipad,Uiscrollview,Paging,我目前正在开发一款使用UIScrollView的iPad应用程序。UIScrollView中填充了UIImage,所有图像都大于iPad的宽度,是宽度的两倍,即1536px。我想让它做的是,当滑动/轻弹时,它将滚动到第二个图像,即1536,第三个图像滚动到3072,依此类推。它只是在滑过时看到一个快速的图像。我看过ScrollViewDiEndDraging,但有时它会变得非常讨厌和紧张 是否有办法将动画设置为每次滚动1536次,与UIScrollView中的最后一个UIImage分开?我知道你

我目前正在开发一款使用UIScrollView的iPad应用程序。UIScrollView中填充了UIImage,所有图像都大于iPad的宽度,是宽度的两倍,即1536px。我想让它做的是,当滑动/轻弹时,它将滚动到第二个图像,即1536,第三个图像滚动到3072,依此类推。它只是在滑过时看到一个快速的图像。我看过ScrollViewDiEndDraging,但有时它会变得非常讨厌和紧张

是否有办法将动画设置为每次滚动1536次,与UIScrollView中的最后一个UIImage分开?我知道你可以使用setContentOffset,但是如果我在上面的方法中使用它,它仍然不能像使用当前转换一样工作,因此会使它非常不稳定

编辑

for (i = 1; i <= kNumImages; i++) 
{
    NSString *imageName = [NSString stringWithFormat:@"cocktail_%d.png", i];
    UIImage *image = [UIImage imageNamed:imageName];
    UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
    CGRect rect = imageView.frame;
    rect.size.width = kMainImageWidth;
    rect.size.height = kMainImageHeight;
    rect.origin = CGPointMake(xpos, 0);
    imageView.frame = rect;

    [mainImgScrollView addSubview:imageView];
    [imageView release];
    xpos += kMainImageWidth;
 }

for(i=1;i我认为您希望在UIScroll视图上打开分页。这将使其成为“快照”滚动视图的宽度。它的行为与iPad/iPhone上的主屏幕类似。您可能需要使滚动视图的框架比屏幕宽,以获得正确的分页效果。由于图像的大小,您可能会遇到一些延迟。

页面大小是UIScrollView大小。这是完全可以接受的e使UIScrollView本身大于iPad屏幕的宽度。如果将UIScrollView设为1536px宽,则每个页面的宽度将为1536px

要允许用户滚动并查看每张图片,您需要的是一个包含一行滚动视图的滚动视图。外部滚动视图是窗口中的一个,宽1536px,仅用于分页。内部滚动视图是屏幕的宽度,它们的contentSize设置为图像大小,以便用户可以滚动图片在每一个圆中,看到图像


(但是,您需要重新考虑您的架构,因为您在其中预绘制了1536px宽的多个图像的应用程序将无法运行(因为它将超出设备的可用内存)。WWDC2010视频包含了关于这个主题的精彩演讲,即如何设计一个分页滚动视图,让您可以在图像之间进行分页。)

我尝试过将滚动视图放大,但它始终捕捉到原始屏幕大小768的宽度。我用当前代码修改了我的原始帖子,但这不起作用,因为它只是滚动当前的iPad宽度,而不是图像宽度。你可能需要在滚动后设置图像移动动画。或者可能需要设置动画而不是滚动ng。