だからコミュニティは学校のプロジェクトと共に私を助けてくれました。しかし、私は悩んだ。私は簡単なキッチンタイマーappを構築しています。これはSVCとタブビューです。最初のページではユーザーがタイマーを設定できるようになり、次に2番目のページでは割り当ての要件を満たすために作成したランダムな背景色をユーザーがトリガーできる基本設定ページが表示されます。すべてが1つの部分について素晴らしい発言をしています。ユーザーが背景として使用するランダムな色をトリガーすると、その背景色を他のビューにも適用したかったのです。私はここで探したアドバイス、すなわちChange viewController BG color based off another view controllerに行き、シングルトンを使いました。しかし、設定ビューからタイマービューにナビゲートすると何も起こりません。今、私はそうのように私のviewDidLoad()
にself.view.backgroundColor = Settings.sharedInstance.backgroundColor
を追加しました:ViewDidLoad()はバックグラウンドリフレッシュを起動しません
`override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.view.backgroundColor = Settings.sharedInstance.backgroundColor
print(Settings.sharedInstance.backgroundColor)
}
` 何が起こるように思いません。しかしながら!テストとして、同じブロックを次の場所に追加しました:
@IBAction func pickerStartButtonChnage(_ sender: UIButton) {
self.view.backgroundColor = Settings.sharedInstance.backgroundColor
print(Settings.sharedInstance.backgroundColor)
if !cron.isValid{ // prevent more than one time on the thread
nameIt.text = cronStr(cronCount)
cron = Timer.scheduledTimer(timeInterval: timeInterval,
target: self,
selector: #selector(TimerViewController.timerDidEnd(_:)),
userInfo: "is done!",
repeats: true) //repeating timer in the second iteration
}
}
私の質問は、なぜボタンがトリガーされたときにうまく動作する場合、viewDidLoad()
で背景がトリガーされていないのですか?事前にアドバイスをいただきありがとうございます。
あなたは男です!私だけでなく、私のグレードもありがとう。 – aboodness