ボタンを押したときに同じ次のviewcontrollerで異なる画像を表示する方法。ボタンをすばやく押すと、次の画像に異なる画像を表示しますか?
最初のボタンを押すと1つのイメージが表示され、2番目のボタンを押すと別のイメージが2番目のビューコントローラに表示されます。
これは、3つの異なるビューコントローラを使用し、segueを使用することで、多数のビューコントローラを追加するのを避けることによって行うことができます。同じビューコントローラで表示したいです。
ありがとうございます。
ボタンを押したときに同じ次のviewcontrollerで異なる画像を表示する方法。ボタンをすばやく押すと、次の画像に異なる画像を表示しますか?
最初のボタンを押すと1つのイメージが表示され、2番目のボタンを押すと別のイメージが2番目のビューコントローラに表示されます。
これは、3つの異なるビューコントローラを使用し、segueを使用することで、多数のビューコントローラを追加するのを避けることによって行うことができます。同じビューコントローラで表示したいです。
ありがとうございます。
元の表示コントローラーのprepare
に、次の表示コントローラーに表示する画像の名前を設定します。
次のビューコントローラーでは、その名前と名前を読み、そこからUIImageを作成します。
起源VC:
var imageToLoad : String = ""
@IBAction func btnA(_ sender: UIButton) {
imageToLoad = "imageA"
}
@IBAction func btnB(_ sender: UIButton) {
imageToLoad = "imageB"
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let destinarionVC = segue.destination as! NEXT_VIEW_CONTROLLER {
destinarionVC.imageName = self.imageToLoad
}
}
次VC:
var imageName : String = ""
var image : UIImage
override func viewDidLoad() { //Or wherever you need it to be
image = UIImage(name: imageName)
}
のコード例を教えてください。 –
完了...次のVCで必要な場所に必ずイメージを使用してください。必ずしも2番目の行のviewDidLoad –
ではなく、erroeを準備してから使用してください。条件付きバインディングのinitilaizerはオプションでなければなりません。 Second Viewでは、私はuiimageの代わりにUIImageviewを持っています。私はボタンをクリックすると、次のビューに移動するために、インデントされたセグを実行しました。 –
あなたは、単一のビューコントローラを使用してアニメーションを変更することができます
https://github.com/ermalkaleci/CarbonKit
をCarbonkit Framworkを使用してみてください、それは感じています別のビューコントロールに移動するようなものです。実際には別のView Controllerに移動しますが、以前と同じView Controllerです。
UIPagingControllerを使用する方がよいでしょうか? – Scriptable
最初のボタンを押すと1つの画像が表示されて最初のビューに戻り、2番目のボタンを押すと同じ2番目のビューに移動する必要があるため、別の画像が表示されるはずはないと思います。 –
なぜ新しいViewControllerが必要ですか?同じViewController内のUIImageViewのイメージを変更するだけです。 –