【发布时间】:2014-02-10 05:57:15
【问题描述】:
当按下按钮时,我试图在 UIImageView 容器中显示 34 个连续图像。
- (IBAction)buttonPressed {
[self updateUI:(0)];
}
-(void)updateUI:(int)yesser{
//if GO is pressed
//display 34 images MG_8842.PNG -> MG_8875.PNG stored in Supporting Files
for(int j = 0;j<34;j++){
NSString *newPhoto =[NSString stringWithFormat:@"MG_88%i.PNG",42+j];
NSLog(@"%@",newPhoto);
sleep(1);
[self setNextImage:newPhoto];
}
}
-(void)setNextImage:(NSString*)nextImage{
[ball performSelectorOnMainThread:@selector(setImage:) withObject: [UIImage imageNamed:nextImage] waitUntilDone:YES];
}
但是,图像没有更新。当所有代码完成并返回时,将显示第一张图片。
我尝试了以下方法:
1) 产品 > 清洁
2) 重新安装应用程序。
3) 检查所有大小写敏感性。
4) 测试了设置 UIImageView 图像的方法数。
5) 检查 34 个静态 NSString 值是否有效,而不是每次更改一个 NSString
6) 删除并重新添加图像到支持文件夹。
7) 重命名所有图像并更新代码以匹配。
8) 关闭自动布局。
任何帮助将不胜感激。
谢谢, 抢
【问题讨论】:
-
我只能想象使用
sleep()会给您带来比帮助更多的问题。难道你不能只使用NSTimer并安排它每秒调用setNextImage:吗? -
显示你的 setImage 方法
-
我偷偷怀疑你正在尝试使用睡眠复制动画..
标签: ios iphone objective-c xcode uiimageview