Ich versuche ein UIAlertController
mit einem zu zeigen UITextView
. Wenn ich die Zeile hinzufüge:
//Add text field
alertController.addTextFieldWithConfigurationHandler { (textField) -> Void in
}
Ich erhalte eine Runtime
Fehlermeldung:
Schwerwiegender Fehler: Beim Auspacken eines optionalen Werts wurde unerwartet Null gefunden
let alertController: UIAlertController = UIAlertController(title: "Find image", message: "Search for image", preferredStyle: .Alert)
//cancel button
let cancelAction: UIAlertAction = UIAlertAction(title: "Cancel", style: .Cancel) { action -> Void in
//cancel code
}
alertController.addAction(cancelAction)
//Create an optional action
let nextAction: UIAlertAction = UIAlertAction(title: "Search", style: .Default) { action -> Void in
let text = (alertController.textFields?.first as! UITextField).text
println("You entered \(text)")
}
alertController.addAction(nextAction)
//Add text field
alertController.addTextFieldWithConfigurationHandler { (textField) -> Void in
textField.textColor = UIColor.greenColor()
}
//Present the AlertController
presentViewController(alertController, animated: true, completion: nil)
Dies wird in meinem ViewController
via dargestellt IBAction
.
Ich habe den Code von hier heruntergeladen und es funktioniert gut. Ich habe diese Methode kopiert und in meinen Code eingefügt, und sie bricht ab. Die Präsenz des Selbst in der letzten Zeile hat keine Auswirkungen.
ios
swift
uitextfield
uialertcontroller
Quintin Balsdon
quelle
quelle
UITextField
, anstattUITextView
?Antworten:
Swift 5.1
Verwenden Sie diesen Code. Ich führe diesen Code erfolgreich in meiner App aus.
Bearbeitet: Swift 3.0 Version
quelle
So fügen Sie in Swift 3.0 ein Textfeld hinzu:
quelle
Also begann ich zu überprüfen, was möglicherweise in meinem Code vom Arbeitscode abweicht. Ich habe festgestellt, dass mein ViewController erweitert wird
Was anscheinend bedeutet, dass ich den Delegaten eines untergeordneten UITextView festlegen muss:
quelle
Lösung:
Swift 4.2
Probieren Sie die folgenden Zeilen aus und prüfen Sie, ob es funktioniert:
Ich hoffe es hilft.
quelle
alertController.addTextField
korrekt? Es scheint, als würde "Zweiter Name" über "Vorname" erscheinen.Wie füge ich textField zu AlertView hinzu? Lassen Sie es uns kurz und einfach halten.
Dies funktioniert für Swift 3.0 und höher.
Zuerst instanziieren Sie ein Objekt von
UIAlertController
und fügen dann ein Textfeld hinzu, indem Sie auf einaddTextField
Mitglied derUIAlertController
Klasse zugreifen .quelle
So fügen Sie alertController mit einem textField hinzu (Swift 5)
quelle
In Swift 4.2 und Xcode 10.1
Warnung mit zwei Textfeldern und Textdatenfeld lesen und Warnung über allen Ansichten anzeigen .
Wenn Sie aleert über allen Ansichten anzeigen möchten.
Hier von oben Code entfernen Sie diese letzte Zeile
self.present(alert, animated:true, completion: nil)
und fügen Sie unten Code hinzu.Rufen Sie jetzt so an
quelle
Für Swift 4.0 können Sie dieses Codebeispiel verwenden, das in meinem Projekt erfolgreich getestet wurde:
quelle
Gute Antwort, eine kleine Modifikation, um zu zeigen, wie das Textfeld verwendet werden kann:
quelle
Fügen Sie TextField zu UIAlertController und TextField-Textanzeige auf UILabel in Swift hinzu
quelle
UIAlertController
mitUITextfield
in der neuesten Apple Swift Version 5.1.3Erstellen Sie eine
lazy
Variable vonUIAlertController
in IhremUIViewController
, AddUITextFieldDelegate
, Show Alert onUIButton
Aktion :Viel Spaß beim Codieren !! :) :)
quelle
Swift5
Die erste Klasse entspricht dem UITextFieldDelegate und erstellt dann eine neue textField-Eigenschaft
Vielen Dank
quelle
Swift 5
quelle