我的应用程序中心有一个UIImageview,它在我的所有图像上依次运行(16张图像)。 我需要“标记”UIImageview上出现的图像,然后我可以创建一个条件来运行另一个代码。
//here is my code
pics = [NSArray arrayWithObjects:
[UIImage imageNamed:@"1.png"],
[UIImage imageNamed:@"2.png"],
[UIImage imageNamed:@"3.png"],
[UIImage imageNamed:@"4.png"],
[UIImage imageNamed:@"5.png"],
[UIImage imageNamed:@"6.png"],
[UIImage imageNamed:@"7.png"],
[UIImage imageNamed:@"8.png"],
[UIImage imageNamed:@"9.png"],
[UIImage imageNamed:@"10.png"],
[UIImage imageNamed:@"11.png"],
[UIImage imageNamed:@"12.png"],
[UIImage imageNamed:@"13.png"],
[UIImage imageNamed:@"14.png"],
[UIImage imageNamed:@"15.png"],
[UIImage imageNamed:@"16.png"],
nil];
self.centreImage.animationImages = pics;
self.centreImage.animationDuration = 20.0;
self.centreImage.animationRepeatCount = INFINITY;
[self.centreImage startAnimating];
// here is when the condition has to "detect the image/tag"
if (centreImage.image == [UIImage imageNamed:@"1.png"]);
//run this code
任何帮助都会非常感激 谢谢
答案 0 :(得分:0)
您可以为每个NSObject
创建UIImage
。在NSObject
内,你可以创建所有图像属性 - 属性和标签等。之后,您将在NSArray
中创建UIViewController
,并将这些NSObject
添加到NSArray
。
答案 1 :(得分:0)
if (centreImage.image == [UIImage imageNamed:@"1.png"]);
失败,因为imageNamed:
可能会返回新图片。
我建议尝试提取图像索引:
NSUInteger imageIndex = [pics indexOfObject:centreImage.image];
此处,0
将是您的第一张图片,1
是您的第二张图片,等等。
对此的改进是在切换到新图像时捕获图像的索引。
进一步的改进是避免将所有图像加载到阵列中,只需根据需要加载图像。在这里,您将跟踪图像的数字文件名,并根据需要构建文件名。