Wie erstelle ich programmgesteuert grafische Elemente (wie a UIButton
) in Swift? Ich habe versucht, eine Schaltfläche zu erstellen und einer Ansicht hinzuzufügen, konnte dies jedoch nicht.
256
Hier ist eine vollständige Lösung zum UIButton
programmgesteuerten Hinzufügen einer mit der targetAction .
Swift 2.2
override func viewDidLoad() {
super.viewDidLoad()
let button = UIButton(frame: CGRect(x: 100, y: 100, width: 100, height: 50))
button.backgroundColor = .greenColor()
button.setTitle("Test Button", forState: .Normal)
button.addTarget(self, action: #selector(buttonAction), forControlEvents: .TouchUpInside)
self.view.addSubview(button)
}
func buttonAction(sender: UIButton!) {
print("Button tapped")
}
Es ist wahrscheinlich besser zu verwenden NSLayoutConstraint
frame
die Schaltfläche für jeden iPhone-Bildschirm als sie richtig zu platzieren.
Code auf Swift 3.1 aktualisiert :
override func viewDidLoad() {
super.viewDidLoad()
let button = UIButton(frame: CGRect(x: 100, y: 100, width: 100, height: 50))
button.backgroundColor = .green
button.setTitle("Test Button", for: .normal)
button.addTarget(self, action: #selector(buttonAction), for: .touchUpInside)
self.view.addSubview(button)
}
func buttonAction(sender: UIButton!) {
print("Button tapped")
}
Code auf Swift 4.2 aktualisiert :
override func viewDidLoad() {
super.viewDidLoad()
let button = UIButton(frame: CGRect(x: 100, y: 100, width: 100, height: 50))
button.backgroundColor = .green
button.setTitle("Test Button", for: .normal)
button.addTarget(self, action: #selector(buttonAction), for: .touchUpInside)
self.view.addSubview(button)
}
@objc func buttonAction(sender: UIButton!) {
print("Button tapped")
}
Das obige funktioniert immer noch, wenn func buttonAction
deklariert ist private
oder internal
.
Auf diese Weise können Sie UIButton, UIlable und UITextfield programmgesteuert hinzufügen.
UIButton-Code
UILabel-Code
UITextField-Code
Hoffe das ist hilfreich für dich.
quelle
Für Swift 3
Für Swift 4
quelle
button.frame = (frame: CGRect(x: self.view.frame.size.width - 60, y: 20, width: 50, height: 50))
sollte seinbutton.frame = CGRect(x: self.view.frame.size.width - 60, y: 20, width: 50, height: 50)
Swift 3
Ausgabe
quelle
Wie das geht mit Swift 3.0 .
quelle
quelle
Die API hat sich nicht geändert - nur die Syntax hat sich geändert. Sie können ein
UIButton
erstellen und es wie folgt hinzufügen:quelle
Sie können so erstellen und Sie können auch so eine Aktion hinzufügen ....
quelle
Fügen Sie diesen Code in viewDidLoad
// add Button hinzu
Schreiben Sie diese Funktion außerhalb, sie wird aufgerufen, wenn Sie auf die Schaltfläche tippen
quelle
In Swift 2 und iOS 9.2.1
quelle
Für Swift 5 genauso wie für Swift 4
quelle
Es ist möglich. Sie machen alles ziemlich gleich, außer dass Sie die schnelle Syntax verwenden. Zum Beispiel könnten Sie einen UIButton in Code wie folgt erstellen:
quelle
So erstellen Sie einen UIButton aus dem Storyboard: 1 - Ziehen Sie das UIButton-Objekt aus der Objektbibliothek in den ViewController in der Storyboard-Datei. 2 - Zeigen Sie den Assistenten-Editor an. 3 - Ziehen Sie mit der rechten Maustaste aus dem oben erstellten UIButton in Ihre Klasse. Das Ergebnis ist folgendes:
So programmieren Sie UIButton programmgesteuert: 1- Schreiben Sie in "override func viewDidLoad ()":
2- Fügen Sie die IBAction-Funktion hinzu:
quelle
quelle
Ja im Simulator. Manchmal erkennt es den Selektor nicht, es scheint einen Fehler zu geben. Auch wenn ich nicht auf Ihren Code gestoßen bin, habe ich einfach den Aktionsnamen (Selektor) geändert. Es klappt
Die Auswahlfunktion ist hier:
quelle
quelle
Schreiben Sie diesen Beispielcode in Swift 4.2, um die Schaltfläche programmgesteuert hinzuzufügen.
quelle
quelle
Schritt 1: Erstellen Sie ein neues Projekt
Schritt 2: in ViewController.swift
quelle
Swift: Ui Button programmgesteuert erstellen
quelle
quelle
Normalerweise richte ich eine Erweiterung von UIBotton ein. Swift 5.
quelle
quelle
quelle