嘿家伙在Stackoverflow!每次启动应用程序只需拨打一次电话
我需要您的帮助。我正在寻找一种方法来呼叫我的方法只有一次应用程序已经推出和“保存”的UIView的颜色的状态。起初,我会告诉你我的代码,我可以以更好的方式解释它:
- (空)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
方法只调用它一次,但正如你可能会想到的颜色再也没有被调用过,所以视图在第二次加载时没有颜色。
我真的会appreceate如果你能帮助我这个。
由于事先
诺亚
编辑:
我的头:有关使用一个静态变量
@interface ViewController : UIViewController {
IBOutlet UIView *colorTransparentView;
}
@end
为什么不在'viewDidLoad'中设置颜色? – jlehr
@jlehr它是一样的!它没有任何区别! – MasterRazer
它可能有助于查看“colorTransparentView”的声明。视图在运行时不会奇迹般地丢失背景颜色。 – jlehr