我正在设计一个iPhone程序,可以在一个视图中按下“自定义”圆角矩形按钮,显示不同的视图(我使用内置故事板上的模态连接在视图之间切换),可以在第一个视图上自定义背景。 “自定义”屏幕(第二个屏幕)有几个按钮,用于选择使用以下代码的背景:
ViewController.h:
@interface{
...
IBOutlet UIImageView *backgroundImageTest;
...
}
...
@property (strong,nonatomic) NSString *backgroundImageName;
@property (retain, nonatomic) IBOutlet UIImageView *backgroundImageTest;
...
ViewController.m:
- (IBAction)setJungleBackground:(id)sender {
backgroundImageName=@"jungle.png";
backgroundImageTest.image=[UIImage imageNamed:@"jungle.png"];
}
- (IBAction)setArcticBackground:(id)sender {
backgroundImageName=@"arctic.png";
backgroundImageTest.image=[UIImage imageNamed:@"arctic.png"];
}
为每个可能的背景。
同样在ViewController.m中:
- (void)viewDidLoad
{
if(!notFirstTime){
notFirstTime=YES;
...
backgroundImageName=@"white.png";
}
...
backgroundImageTest.image=[UIImage imageNamed:backgroundImageName];
...
[super viewDidLoad];
}
每次切换视图时,firstTime布尔值重置为NO,背景保持默认背景(@“white.png”)。如果我用@“jungle.png”替换@“white.png”,背景有效,但无法切换到任何其他背景。
我为两个视图使用一个ViewController。到目前为止,似乎工作得很好,除了这个小问题。我应该使用多个ViewControllers吗?我不确定在什么情况下我应该这样做。
另外,我不确定我是否应该在变量的属性声明中使用retain或strong。
我对iPhone编程比较陌生,任何建议都非常感谢。
谢谢, 亚历
答案 0 :(得分:0)
在实例化视图控制器后调用viewDidLoad - 您似乎在不断重新创建视图控制器实例。避免这种情况,然后使用viewDidAppear。