您可以使用UIImageView而不是UIScrollView。
在您的.h文件中:
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController {
int imageId;
UIImageView *imageView;
}
@property(nonatomic, retain) IBOutlet UIImageView * imageView;
@end
在您.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
您需要將QuartzCore.framework添加到您的項目。
對不起,我的無知,但是這行'int id = imageId%NUMBER_OF_IMAGES;'是做什麼的?我對'%NUMBER_OF_IMAGES'位特別困惑。它是否對'id'可以設置的值(在這種情況下爲8)設置限制?因爲我會另外使用if語句來檢查'id'是否已經是8 ...不知道您使用的那種符號類型。 – MiguelB
@miamk%運算符計算將imageId除以NUMBER_OF_IMAGES的餘數。然後用這個操作id值總是在0到7之間。 –