2
作成しているアプリの初期画面で、続行するには2つのオプション(登録&サインイン)が表示されます。画面の中央にはロゴがあり、上にはアプリの名前が表示されます。Swift 3 - すぐに2つの機能を実行する
バックグラウンドを複数の色に連続してフェードインしたいのですが、色が変わっているとき(常に変化しています)にボタンが機能しなくなるという問題があります。
私の現在のコード:
override func viewDidAppear(_ animated: Bool) {
randomColor()
}
@IBAction func registerButton(_ sender: UIButton) {
print("New user is registering")
}
@IBAction func signInButton(_ sender: UIButton) {
print("Returning user is signing in")
}
func randomColor() {
let possibleColors = [standardRed, standardAqua, standardBlue, standardPink, standardGreen, standardOrange, standardPurple, standardYellow]
let randomIndex = Int(arc4random_uniform(UInt32(possibleColors.count)))
let randomColor = possibleColors[randomIndex]
UIView.animate(withDuration: 3.0, delay: 0.0, options: .curveEaseInOut, animations: {
self.view.backgroundColor = randomColor
}, completion: { finished in
self.randomColor()
})
}
// 'standardXXX' are just global variable UIColors
は、私が「randomColor」関数は、それ自体開始し続けるため、他の機能が起動できないことを考えで正しいですか?
'randomColor()'が他のIBActionを使用できるようにしながら、それ自体を繰り返すことができるソリューションはありますか?
デフォルトでアニメーション化するときに対話が無効になるためです。それを可能にするオプションがあります。 – Lumialxk