嘿傢伙在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