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