希望你能帮助我。 我有一个应用程序需要通过UISwitch的设置显示两个地图之一。 settings.bundle已全部设置完毕,我正在尝试编写一个If语句来确定开关是打开还是关闭,并显示正确的图像。
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
BOOL Enabled = [defaults boolForKey:@"zones_preference"];
if (Enabled == @"Enabled") {
[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"withzones.jpg"]];
}
else {
[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"withoutzones.jpg"]];
}
此构建没有错误,但不会将图像加载到ScrollView中。谁能告诉我哪里出错了?
答案 0 :(得分:1)
嗯,您发布的代码只会创建一个UIImageView
对象,而不再执行任何操作。这也是一个漏洞。
行中还有一个错误
if (Enabled == @"Enabled") {
在这里,您将布尔值与字符串进行比较,该字符串将自动计算为false,因此也需要更正。
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
BOOL enabled = [defaults boolForKey:@"zones_preference"];
UIImageView * imageView;
if ( enabled ) {
imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"withzones.jpg"]];
} else {
imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"withoutzones.jpg"]];
}
imageView.frame = imageViewFrame; // Where "imageViewFrame" is an appropriate frame.
[scrollView addSubview:imageView];
[imageView release];
答案 1 :(得分:0)
Deepak,非常有用,谢谢你。我一直在使用变量,但我犯的错误是我试图通过创建UIImageView来添加变量的设置。
我会用这个来看看我是如何上场的。