Ich habe eine ViewController-Klasse, die nur dazu dient, eine Warnmeldung mit einer benutzerdefinierten Nachricht und einem Titel anzuzeigen, der über eine benutzerdefinierte Initialisierungsnachricht übergeben wird. Dies geschieht, sobald die Ansicht in viewDidLoad angezeigt wird. Mein Problem ist jedoch, dass, wenn es um diese Ansicht geht, es auftaucht und für immer in dieser Ansicht feststeckt, anstatt nur den Blick auf den anderen zu richten. Ich bin mir nicht sicher, wie ich das beheben soll. Hier ist der Code für meine alertVC KlasseSwift UIAlertController mit benutzerdefinierter Nachricht
import UIKit
class AlertVC: UIViewController {
var myMessage: String?
var myTitle: String?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func viewDidAppear(animated: Bool){
let alertController = UIAlertController(title: myTitle, message: myMessage, preferredStyle: .Alert)
let OKAction = UIAlertAction(title: "OK", style: .Default) {
(action: UIAlertAction) in print("Youve pressed OK Button")
}
alertController.addAction(OKAction)
self.presentViewController(alertController, animated: true, completion: nil)
}
convenience init(title: String, message: String){
self.init()
self.myTitle = title
self.myMessage = message
}
}
Dies ist der Code, wie erstelle ich ein Objekt für diese und versuchen, es zu zeigen.
let alert = AlertVC(title: "Error", message: "error")
presentViewController(alert, animated: true, completion: nil)
Jede Hilfe ist willkommen, hinterlassen Sie einen Kommentar, wenn Sie weitere Informationen benötigen. Vielen Dank!
Wenn 'einzige Zweck des AlertVC' ist die' UIAlertController', warum Sie gerade die 'UIAlertController' auf Ihrem früheren' ViewController' präsentieren die nicht angezeigt werden? – Daven
Ich habe versucht, eine Möglichkeit zu schaffen, die Warnmeldungsansicht in jeder Klasse zu verwenden, indem ich einen objektorientierten Weg dafür erstelle. Ich habe ungefähr 5 Klassen, die es vielleicht brauchen, aber ich würde eine abstrakte Art bevorzugen, Dinge zu tun, anstatt sie nur jedes Mal hart zu kodieren. – John511
Sie rufen es in der 'viewdidappear()' Methode auf. Nennen Sie es in der 'viewdidload()'. – Dershowitz123