你好我一直在使用苹果的滚动例如实现照片幻灯片与滚动型和ImageView的如何在iPhone中实现照片幻灯片放映?
- (void)viewDidLoad {
kNumImages=[parray count];
self.view.backgroundColor=[UIColor viewFlipsideBackgroundColor];
[scrollView1 setBackgroundColor:[UIColor blackColor]];
[scrollView1 setCanCancelContentTouches:NO];
scrollView1.indicatorStyle=UIScrollViewIndicatorStyleWhite;
scrollView1.clipsToBounds=YES;
scrollView1.scrollEnabled=YES;
scrollView1.pagingEnabled=YES;
scrollView1.minimumZoomScale=0.5;
scrollView1.delegate=self;
scrollView1.maximumZoomScale=6.0;
NSUInteger i;
for(i=0;i<kNumImages;i++)
{
NSURL *url=[NSURL URLWithString:[parray objectAtIndex:i]];
NSLog(@"url object at index %i is %@",i,url);
//NSString *imageName=[NSString stringWithFormat:@"image%d.jpg",i ];
UIImage *image=[UIImage imageWithData:[NSData dataWithContentsOfURL:url]];
imageView=[[UIImageView alloc] initWithImage:image];
CGRect rect=imageView.frame;
rect.size.height=kScrollObjHeight;
rect.size.width=kScrollObjWidth;
imageView.frame=rect;
imageView.tag=i+1;
[scrollView1 addSubview:imageView];
[imageView release];
}
[self layoutScrollImages];
[super viewDidLoad];
}
-(void)layoutScrollImages
{
kNumImages=[parray count];
view=nil;
NSArray *subviews=[scrollView1 subviews];
CGFloat curXLoc=0;
for(view in subviews)
{
if([view isKindOfClass:[UIImageView class]] && view.tag>0)
{
CGRect frame=view.frame;
frame.origin=CGPointMake(curXLoc, 0);
view.frame=frame;
curXLoc+=(kScrollObjWidth);
}}
[scrollView1 setContentSize:CGSizeMake((kNumImages *kScrollObjWidth),[scrollView1 bounds].size.height)];
}
这个作品fine.but图像序列从这里第一映像从图像阵列,而不是我想要的任何图片说像3号开始当页面加载时我想先出现在视图中,当我向左滚动时,它应该显示图像2号,当我向右滚动时,它应该显示图像4.我可以怎么做? UPDATE: 我一直在使用下面的代码来解决这个问题:
CGPoint lastFrame = CGPointMake((2* kScrollObjWidth), 0.0f);
[scrollView1 setContentOffset:lastFrame];
我已经使用以下代码CGPoint lastFrame = CGPointMake((2 * kScrollObjWidth),0.0F)解决了这个问题; \t [scrollView1 setContentOffset:lastFrame]; – nehal 2011-04-22 12:58:37
非常好。将其张贴为您自己的答案并在24小时内接受。 – 2011-04-22 13:00:20
@NickWeaver PageControl示例正是我正在寻找的。有一个迅速的版本?在obj-c中很难跟踪。 – oyalhi 2015-12-29 17:44:07