Ich versuche, Benutzeroberflächen programmgesteuert zu erstellen. Wie bringe ich diese Aktion zum Laufen? Ich entwickle mich mit Swift.
Code in viewDidLoad:
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let myFirstLabel = UILabel()
let myFirstButton = UIButton()
myFirstLabel.text = "I made a label on the screen #toogood4you"
myFirstLabel.font = UIFont(name: "MarkerFelt-Thin", size: 45)
myFirstLabel.textColor = UIColor.redColor()
myFirstLabel.textAlignment = .Center
myFirstLabel.numberOfLines = 5
myFirstLabel.frame = CGRectMake(15, 54, 300, 500)
myFirstButton.setTitle("✸", forState: .Normal)
myFirstButton.setTitleColor(UIColor.blueColor(), forState: .Normal)
myFirstButton.frame = CGRectMake(15, -50, 300, 500)
myFirstButton.addTarget(self, action: "pressed", forControlEvents: .TouchUpInside)
self.view.addSubview(myFirstLabel)
self.view.addSubview(myFirstButton)
}
func pressed(sender: UIButton!) {
var alertView = UIAlertView();
alertView.addButtonWithTitle("Ok");
alertView.title = "title";
alertView.message = "message";
alertView.show();
}
pressed
Funktion ein Argument akzeptiert .Swift 2.2 Xcode 7.3
Da Objective-C-String-Literale jetzt für Schaltflächenrückrufmethoden veraltet sind
Swift 3 Xcode 8
Swift 4 Xcode 9
quelle
Swift 4/5
quelle
Swift 4
quelle
Ja im Simulator. Manchmal erkennt es den Selektor nicht, es scheint einen Fehler zu geben. Auch wenn ich nicht mit Ihrem Code konfrontiert war, habe ich nur den Aktionsnamen (Selektor) geändert. Es klappt
Eine beispielhafte Auswahlfunktion finden Sie hier:
quelle
Sie sollten in der Lage sein, programmgesteuert eine Schaltfläche zum Anpassen der Benutzeroberfläche zu erstellen, indem Sie auf die titleLabel- Eigenschaft von UIButton zugreifen .
Pro Klassenreferenz in Swift: In Bezug auf die titleLabel- Eigenschaft heißt es: "Obwohl diese Eigenschaft schreibgeschützt ist, sind ihre eigenen Eigenschaften schreibgeschützt. Verwenden Sie diese Eigenschaften hauptsächlich, um den Text der Schaltfläche zu konfigurieren."
In Swift können Sie die Eigenschaften von titleLabel direkt wie folgt ändern:
Bearbeiten
Swift 3.1 Syntax
quelle
versuchen Sie diese .. ich hoffe, es hilft ...
Dies ist Schaltflächen Klick Ereignis ..
quelle
Swift 3: Sie können
UIButton
programmgesteuert eine erstellenEntweder innerhalb eines Methodenbereichs, z. B. in
ViewDidLoad()
Stellen Sie sicher, dass Sie der Schaltfläche Einschränkungen hinzufügen, da sie sonst nicht angezeigt wirdoder außerhalb Ihres Bereichs als globale Variable, um von überall in Ihrem Bereich darauf zuzugreifen
module
und dann richten Sie die Einschränkungen ein
quelle
Swift: Ui Button programmgesteuert erstellen,
quelle
Schnelle "Button Factory" -Erweiterung für UIButton (und wenn wir schon dabei sind) auch für UILabel wie folgt:
Getestet in Swift in Xcode Version 9.2 (9C40b) Swift 4.x.
quelle
Swift: Ui Button programmgesteuert erstellen
quelle
Für Swift 3 Xcode 8 .......
quelle
UIButton mit Einschränkungen in
iOS 9.1/Xcode 7.1.1/Swift 2.1
:Die Schaltfläche ist in der unteren linken Ecke über der Registerkartenleiste verankert.
quelle
getCurrentLocation
hilft uns bitte, den Standort zu finden?In Swift können wir programmgesteuert eine Schaltfläche erstellen, indem wir diesen Code in unsere Datei viewcontroller.swift schreiben ...
quelle
quelle
Wenn Sie in den Haupt-Storyboard-Teil gehen und unten rechts zum Kreis mit dem Quadrat gehen, verwenden Sie eine leere Schaltfläche. Verwenden Sie dann im Code @IBAction, um es zu verkabeln. Dann können Sie damit eine @ IBAction-Funktion erstellen.
quelle
Swift 4.2 - XCode 10.1
Verwendung eines Verschlusses
quelle
In iOS 12, Swift 4.2 und XCode 10.1
quelle
Swift 5.0
quelle