Iphone pagingScrollView幻灯片放映

Iphone pagingScrollView幻灯片放映,iphone,objective-c,Iphone,Objective C,在观看了WWDC 2009年和2010年关于滚动视图和翻页照片的视频后,我开始尝试了解苹果在iPhone上实现photoviewer应用程序的方式。在我将其全部实现到我的应用程序之前,我正在非常缓慢地采取每一步,以便很好地理解过程 目前我遇到了几个问题: 首先,我设置了一个分页滚动视图,可以在照片之间左右滑动,中间有一点空间,就像在视频中一样,但是当我在UIImageView中添加图像时,图像对于屏幕来说太大了,我尝试添加UIViewContentModeScaleAspectFit;毫无效果

在观看了WWDC 2009年和2010年关于滚动视图和翻页照片的视频后,我开始尝试了解苹果在iPhone上实现photoviewer应用程序的方式。在我将其全部实现到我的应用程序之前,我正在非常缓慢地采取每一步,以便很好地理解过程

目前我遇到了几个问题:

  • 首先,我设置了一个分页滚动视图,可以在照片之间左右滑动,中间有一点空间,就像在视频中一样,但是当我在UIImageView中添加图像时,图像对于屏幕来说太大了,我尝试添加UIViewContentModeScaleAspectFit;毫无效果

  • 当我通过for循环查看包含UIView重叠的图像的数组的每个元素并在另一个上面显示一张照片时,我想知道如何将它们分离到分页滚动视图的下一部分

  • 
    -(void)负荷视图{
    UIImage*img0=[UIImage ImageName:@“29.png”];
    UIImage*img1=[UIImage ImageName:@“33.png”]

    NSMutableArray*imgArray=[[NSMutableArray alloc]initWithObjects:img0、img2、nil];
    CGRect pagingScrollViewFrame=[[UIScreen mainScreen]边界];
    pagingScrollViewFrame.origin.x-=10;
    pagingScrollViewFrame.size.width+=20;
    pagingScrollView=[[UIScrollView alloc]initWithFrame:pagingScrollViewFrame];
    pagingScrollView.PaginEnabled=是;
    pagingScrollView.backgroundColor=[UIColor blackColor];
    pagingScrollView.contentSize=CGSizeMake(pagingScrollViewFrame.size.width*[imgArray计数],pagingScrollViewFrame.size.height);
    self.view=分页CrollView;
    对于(int i=0;i<[imgaray计数];i++){
    UIImageView*页面=[[UIImageView alloc]initWithImage:[imgArray objectAtIndex:i]];
    page.contentMode=ui视图contentmodescaleaspectfit;
    [pagingScrollView添加子视图:第页];
    }}
    


    正如我所提到的,我对iPhone编程还相当陌生,并且正在慢慢地完全理解,最终这个程序将模拟本机应用程序,通过捏和点击缩放。

    -[UIImageView initWithImage:
    将帧设置为图像的大小。您需要使用
    page.frame=[[UIScreen mainScreen]bounds]
    或类似工具将图像缩放到正确的大小。

    -[UIImageView initWithImage:
    将帧设置为图像的大小。您需要使用
    page.frame=[[UIScreen mainScreen]bounds]
    或类似工具将图像缩放到正确的大小。

    如果使用UIImageViews,则应确保视图的clipsToBounds字段设置为yes。尝试添加:

    UIImageView *page = [[UIImageView alloc] 
                               initWithImage:[imgArray objectAtIndex:i]];
    [page setContentMode:UIViewContentModeScaleAspectFit];
    [page setClipsToBounds:YES];
    [pagingScrollView addSubview:page];
    
    然后,确保在滚动视图中将图像的帧设置为正确的偏移。帧的原点.x必须是帧的宽度乘以图像索引。所以你需要这样的东西:

    [page setFrame:CGRectMake(i*pagingScrollViewFrame.size.width, y, width, height)];
    
    其中i是for循环中的索引


    尽管在您所指的WWDC会话的示例代码中,这是在名为-configurePage的方法中完成的。您下载了示例代码吗?

    如果您使用的是UIImageViews,您应该确保您的视图的clipsToBounds字段设置为yes。尝试添加:

    UIImageView *page = [[UIImageView alloc] 
                               initWithImage:[imgArray objectAtIndex:i]];
    [page setContentMode:UIViewContentModeScaleAspectFit];
    [page setClipsToBounds:YES];
    [pagingScrollView addSubview:page];
    
    然后,确保在滚动视图中将图像的帧设置为正确的偏移。帧的原点.x必须是帧的宽度乘以图像索引。所以你需要这样的东西:

    [page setFrame:CGRectMake(i*pagingScrollViewFrame.size.width, y, width, height)];
    
    其中i是for循环中的索引


    尽管在您所指的WWDC会话的示例代码中,这是在名为-configurePage的方法中完成的。您下载了示例代码吗?

    谢谢,我确实尝试了,但没有与AspectFit结合使用,它可以工作:D.只需要了解如何在主滚动视图中设置ImageView。谢谢,我尝试了,但没有与AspectFit结合使用,它可以工作:D.只需要了解如何在主滚动视图中设置ImageViewscrollView。是的,我有一个示例代码,并试图弄清楚这是怎么回事,但我决定我会尝试写的只是我自己,从WWDC 2010上展示的图表中,用PhotoScroller的各个层,分页层,缩放层,然后UIImage view作为子视图,但是,再把它降低一个级别,首先让分页工作,然后从中建立。从你的回答中,我无法设置clipsToBounds的工作方式,即页面不是结构或联合。是的,我有示例代码,并试图从中找出发生了什么,但我决定我将尝试编写的只是我自己在WWDC 2010上展示的带有PhotoScroller各个层的图表,因此页面层,缩放图层,然后将UIImage视图作为子视图,然后再将其降低一个级别,首先让分页工作,然后再从中构建。根据您的回答,我无法设置clipsToBounds的工作方式,即页面不是结构或联合。