Comment créer par programme des éléments graphiques (comme a UIButton
) dans Swift? J'ai essayé de créer et d'ajouter un bouton dans une vue, mais je n'y suis pas parvenu.
256
Voici une solution complète pour ajouter un UIButton
programme avec la 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")
}
Il vaut probablement mieux utiliser NSLayoutConstraint
plutôt queframe
de placer correctement le bouton pour chaque écran d'iPhone.
Code mis à jour vers Swift 3.1 :
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 mis à jour vers Swift 4.2 :
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")
}
Ce qui précède fonctionne toujours si func buttonAction
est déclaré private
ou internal
.
Vous pouvez ajouter UIButton, UIlable et UITextfield par programme de cette manière.
Code UIButton
Code UILabel
Code UITextField
J'espère que cela vous sera utile.
la source
Pour Swift 3
Pour Swift 4
la source
button.frame = (frame: CGRect(x: self.view.frame.size.width - 60, y: 20, width: 50, height: 50))
devrait êtrebutton.frame = CGRect(x: self.view.frame.size.width - 60, y: 20, width: 50, height: 50)
Swift 3
Production
la source
Comment faire cela en utilisant Swift 3.0 .
la source
la source
L'API n'a pas changé - seule la syntaxe a changé. Vous pouvez faire un
UIButton
et l'ajouter comme ceci:la source
Vous pouvez créer comme ça et vous pouvez aussi ajouter des actions comme ça ....
la source
Ajoutez ce code dans viewDidLoad
// Add Button
Écrivez cette fonction en dehors, cela appellera lorsque vous appuyez sur le bouton
la source
Dans Swift 2 et iOS 9.2.1
la source
Pour Swift 5 exactement comme Swift 4
la source
C'est possible. Vous faites tout à peu près de la même manière, sauf en utilisant la syntaxe rapide. Par exemple, vous pouvez créer un UIButton dans un code comme celui-ci:
la source
Pour créer UIButton à partir du storyboard: 1 - Faites glisser l'objet UIButton de la bibliothèque d'objets vers ViewController dans le fichier de storyboard 2 - Affichez l'éditeur d'assistant 3 - Faites glisser avec le clic droit de UIButton create above dans votre classe. Le résultat est le suivant:
Pour créer UIButton par programme: 1- Écrivez dans "override func viewDidLoad ()":
2- Ajoutez la fonction IBAction:
la source
la source
Ouais dans le simulateur. Parfois, il ne reconnaîtra pas le sélecteur, il semble qu'il y ait un bug. Même si je n'ai pas fait face à votre code, j'ai juste changé le nom de l'action (sélecteur). Ça marche
La fonction de sélection est ici:
la source
la source
Écrivez cet exemple de code dans Swift 4.2 pour ajouter un bouton par programme.
la source
la source
Étape 1: créer un nouveau projet
Étape 2: dans ViewController.swift
la source
Swift: Ui Button crée par programmation
la source
la source
Je choisis généralement d'installer une extension d'UIBotton. Rapide 5.
la source
la source
la source