我创建了一个具有多个图像更改的应用。原始图像1从按下的按钮更改后,它切换到新的图像2。 如果我离开应用程序然后返回,则image2返回到image1。我怎样才能让image2留下来?
这是持续存在的数据,有人可以帮助我吗?
答案 0 :(得分:1)
您需要创建一个init方法,并根据退出应用时保存的值加载图像。如果目标是iphone,您可以在NSUserDefaults中保存值,或者您可以创建.plist并写入和读取它。另一种选择是xml,它适用于许多编程语言。 如果您想了解更多,我建议您说出您正在编程的语言/平台。
希望有所帮助。
答案 1 :(得分:0)
然后我会用这个:
·H
int imageValue;
的.m
-(void)exitingApp {
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setInteger:imageValue forKey:@"value"];
}
-(void)init {
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
imageValue = [prefs integerForKey:@"value"];
myImageView.image = [UIImage imageNamed:@"image%i", imageValue];
}
-(void)switchToImage1 {
//This is how you go about changing the image in the app
imageValue = 1;
myImageView.image = [UIImage imageNamed:@"image%i", imageValue];
}
答案 2 :(得分:0)
如果“value”只是您创建的密钥,那么您可以跟踪已保存的int。你可以把它保持在“价值”。整数从0开始,所以你调用你的第一张图片:“image0.png”然后是下一张图片:“image1.png”
我在代码中发现了一些错误,这在此处得到纠正,在您的项目中替换它:
-(void)init {
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
imageValue = [prefs integerForKey:@"value"];
myImageView.image = [UIImage imageNamed:@"image%i.png", imageValue];
}
-(void)switchToImage1 {
//This is how you go about changing the image in the app
imageValue = 1;
myImageView.image = [UIImage imageNamed:@"image%i.png", imageValue];
}
只要您为图像命名,一切都应该正常工作:“image0.png”和“image1.png”。