【发布时间】:2014-01-01 21:17:08
【问题描述】:
我正在制作一个应用程序,它从预设的图片组中随机选择一张图片并将其显示到图像视图中。这应该每隔一秒左右发生一次,直到它经历了 20 个周期。
听到的是我的头文件和实现代码:
@interface spinController : UIViewController
{
IBOutlet UIImageView *imageHolder;
NSTimer *MovementTimer;
}
-(IBAction)Button:(id)sender;
-(void)displayPic;
@end
@implementation spinController
-(IBAction)Button:(id)sender
{
int count = 0;
while (count <20)
{
[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(displayPic) userInfo:nil repeats:NO];
count++;
}
}
-(void)displayPic
{
int r = arc4random() % 2;
if(r==0)
{
imageHolder.image = [UIImage imageNamed:@"puppy1.jpg"];
}
else
{
imageHolder.image = [UIImage imageNamed:@"puppy2.jpg"];
}
}
-(void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
}
@end
我在 WPF 中以更高级的形式制作了此应用程序,但遇到了图片无法正确循环的类似问题。如果我点击旋转,它会随机化,但不会经历 20 个周期……只有一个。这是我在objective-c 中的第一个应用程序,并意识到我选择的方法的效率将决定我的应用程序以更复杂的形式运行的好坏。任何帮助将不胜感激。
【问题讨论】:
-
每张图片是否命名为“puppy1”、“puppy2”、“puppy3”等?
-
是的,我有两个在用。小狗1和小狗2
-
哦,我明白了。现在写答案...
-
谢谢。有很多低效的计时器方法,而这是一项如此常见且看似简单的任务。
标签: ios iphone objective-c xcode5