Objective-C 在UI滚动视图中重复自动滚动图像,就像水平幻灯片放映一样



我有一个从数据库到iMagesArray的图像列表。

我的要求是在固定大小的窗口中水平显示图像作为幻灯片放映。

http://www.nda4u.com/ 相同 *感谢这些 2013 年 NDA 大会赞助商:* 行

尝试

//...
int i;
}
-(void) viewDidLoad{
//... whatever wour code in the view is...
    [NSTimer scheduledTimerWithTimeInterval:2.0f target:self selector:@selector(animation:) userInfo:Nil repeats:Yes];
}
-(void)animation{
    i++;
    //i'd name the images just with numbers
    int newView = mod(i,numberOfImagesInSlideShow);
    NSString *name = [NSString stringWithFormat:@"%d",mod(i,numberOfTotalImages);]
    UIImageView newImageView = [[UIImageView alloc] initWithImage[UIImage imageNamed:name]];
    self.imageView.center = CGPointMake(-self.bounds.size.width/numberOfImagesInSlideShow,self.bounds.size.height/2);
    [self addSubView:newImageView];
    [UIView animateWithDuration:2.0f animations:^{
        for(int n=0;n<numberOfImagesInSlideShow;n++){
            if([self viewWithTag:(mod(i+n,numberOfImagesInSlideShow))])
                [self viewWithTag:(mod(i+n,numberOfImagesInSlideShow))].center = CGPointMake(n*self.bounds.size.width/numberOfImagesInSlideShow,self.bounds.size.height/2);
        }
     }                               completion:^(BOOL finished){
        if([self viewWithTag:(mod(mod(i+numberOfImagesInSlideShow-1,numberOfImagesInSlideShow)))])
                [[self viewWithTag:(mod(i+numberOfImagesInSlideShow-1,numberOfImagesInSlideShow))] removeFromSuperView];
     }];

最新更新