嘿,Stackoverflow 的伙计们!
我需要你的帮助。我正在寻找一种在应用程序启动后仅调用我的方法一次并“保存” UIView 颜色状态的方法。首先,我将向您展示我的代码,以便更好地解释它:
-(void)viewWillAppear:(BOOL)动画{
NSArray *colors = [NSArray arrayWithObjects:[UIColor myWhiteColor],[UIColor myBlueColor],[UIColor myCyanColor],[UIColor myGreenColor],[UIColor myOrangeColor],[UIColor myPurpleColor],[UIColor myRedColor],[UIColor myViolettColor],[UIColor myYellowColor], nil]; NSInteger randomIndex = random() % [colors count]; colorTransparentView.backgroundColor = [colors objectAtIndex:randomIndex]; colorTransparentView.opaque = NO; colorTransparentView.alpha = 1.0;
}
现在我向你解释我的问题。如您所见,上面的代码在每次调用“viewWillAppear”方法时都会改变 UIView 的颜色。该代码随机更改与 IBOulet 链接到头文件的 UIView(在 .xib 中)的颜色。问题是每次我回到视图我都会得到不同的颜色。
但是,我想设置UIView
应用程序启动后唯一的随机颜色。这种颜色应该一直保持到应用程序从多任务处理中关闭。我看不出有什么办法可以解决这个问题。我试图调用applicationDidFinishedLaunchingWithOptions
方法中的代码,但没有成功。
我也尝试了dispatch_once
只调用一次的方法,但是你可能会想到颜色再也没有被调用过,所以视图在第二次加载时没有颜色。
如果你能帮助我,我真的很感激。
提前致谢,
诺亚
编辑:
我的标题:
@interface ViewController : UIViewController {
IBOutlet UIView *colorTransparentView;
}
@end