UIScrollView slideShow

use*_*625 1 iphone xcode objective-c ipad

UIScrollView *scrl  = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 768,1024)];
scrl.contentSize = CGSizeMake(768 * 8, 1024);
Run Code Online (Sandbox Code Playgroud)

这是我的定义UIScrollView,我有一个填充滚动的8个图像,每个图像是一个768*1024,我怎样才能制作UIScrollView幻灯片,每个图像停留2秒并滑动到下一个图像,我该怎么做?

Xav*_*Gil 5

您可以使用UIImageView而不是UIScrollView.

在你的.h文件中:

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController {
    int imageId;
    UIImageView *imageView;    
}

@property(nonatomic, retain) IBOutlet UIImageView * imageView;

@end
Run Code Online (Sandbox Code Playgroud)

在.m文件中:

@implementation ViewController

#import <QuartzCore/CAAnimation.h>


#define NUMBER_OF_IMAGES 8;

@synthesize imageView;

- (void)viewDidLoad 
{
    [super viewDidLoad];

    imageId = 0;
    [NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(changeImage) userInfo:nil repeats:YES];
}

-(void)changeImage
{
    imageId = imageId + 1;

    CATransition * trs = [CATransition animation];
    trs.duration = 1;
    [trs setType:kCATransitionPush];

    int id = imageId % NUMBER_OF_IMAGES;
    imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"image_%d.jpg", id]];
    [imageView.layer addAnimation:trs forKey:kCATransition];
}

@end
Run Code Online (Sandbox Code Playgroud)

您需要将QuartzCore.framework添加到项目中.