(我有六个图像视图,我想在它们之间随机动画两秒钟。)
你好朋友,
我在一个视图中有六个带有不同静态图像的图像视图,我希望它们在
img1.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:imgName],
[UIImage imageNamed:imgName2],
[UIImage imageNamed:imgName],
[UIImage imageNamed:imgName2],
[UIImage imageNamed:imgName],
[UIImage imageNamed:imgName2],
方法,我想随机选择imageview两秒钟。
这样做的最佳方式是什么?
答案 0 :(得分:2)
那么从0,1,2,3,4,5中选择一个随机数,就这样做
randomNumber = arcRandom() % 6;
要“显示两秒钟”,您需要了解NSTimer。这很简单。这是一个简单的定义,可以在一段时间内完成某些任务:
#define SCHED( T, S ) \
[NSTimer scheduledTimerWithTimeInterval:T \
target:self selector:@selector(S) userInfo:nil repeats:NO]
例如:
SCHED( 2.0, eliminateImage );
SCHED( 0.5, fadeToBlack );
在每种情况下,您都必须编写例程“eliminateImage”或“fadeToBlack”。
答案 1 :(得分:0)
这可能会对你有帮助。
imageArray = [[NSMutableArray alloc] initWithCapacity:IMAGE_COUNT];
for (int i = 1; i <= IMAGE_COUNT; i++)
[imageArray addObject:[UIImage imageNamed:[NSString stringWithFormat:@"Image%d.png", i]]];
bgImage.animationImages = [NSArray arrayWithArray:imageArray];
bgImage.animationDuration = 9.0;
bgImage.animationRepeatCount = 0.0;
[self.view addSubview:bgImage];
bgImage.startAnimating;
答案 2 :(得分:0)
您可以使用随机索引从数组中选择图像:
int index = int index = rand()%[img1.animationImages count];