Faire un UIButton par programmation dans Swift
Je suis en train de construire l'INTERFACE du programme. Comment puis-je obtenir cette action de travail? Je suis en train d'élaborer avec Swift.
Code dans le 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();
}
Vous devez vous connecter pour publier un commentaire.
Vous manque juste le côlon à la fin du nom du sélecteur. Depuis pressé prend un paramètre, le côlon doit être là. Aussi votre pressée fonction ne devrait pas être imbriquées à l'intérieur viewDidLoad.
EDIT: mis à Jour pour refléter les meilleures pratiques Swift 2.2. #sélecteur() doit être utilisée plutôt qu'une chaîne littérale qui est obsolète.
pressed
fonction prend un argument.pressed
fonction doit être public, au moins cela a été mon expérience.Swift 2.2 Xcode 7.3
Depuis Objective-C Littéraux de Chaîne sont obsolètes maintenant pour le bouton de méthodes de rappel
Swift 3 Xcode 8
Swift 4 Xcode 9
Swift 4
Ouais dans le simulateur. Quelques fois il l'habitude de reconnaître le sélecteur, il y a un bug, il me semble. Même j'ai fait face à pas pour votre code , puis j'ai juste changé le nom de l'action (sélecteur). Il fonctionne
Un exemple sélecteur de fonction est ici:
Swift 3/4
//Bouton créer
Vous devriez être en mesure de créer une personnalisation de l'INTERFACE utilisateur bouton par programmation à l'accès à la titleLabel propriété de UIButton.
Par Classe De Référence dans Swift: en ce qui Concerne la titleLabel de la propriété, il est dit que "bien que cette propriété est en lecture seule, ses propres propriétés sont en lecture/écriture. L'utilisation de ces propriétés principalement pour configurer le texte du bouton."
Dans Swift, vous pouvez modifier directement les propriétés de titleLabel comme tel:
Modifier
Swift 3.1 Syntaxe
essayez ces..j'espère que ça aide...
ces boutons cliquez sur l'événement..
Swift 3: Vous pouvez créer un
UIButton
par programmesoit à l'intérieur d'une des méthodes de champ par exemple dans
ViewDidLoad()
Assurez-vous d'ajouter des contraintes à la bouton, sinon vous ne verrez pas il
ou en dehors de votre champ d'application en tant que variable globale pour y accéder à partir de n'importe où dans votre
module
et puis vous configurez les contraintes
Swift: Interface utilisateur Bouton créer par programmation,
Swift: Interface utilisateur Bouton créer par programmation
Pour Swift 3 Xcode 8.......
Swift "Button factory" extension pour UIButton (et pendant que nous y sommes) aussi pour UILabel comme suit:
Testé dans Swift dans Xcode Version 9.2 (9C40b) Swift 4.x
UIButton avec des contraintes en
iOS 9.1/Xcode 7.1.1/Swift 2.1
:Le bouton est ancré dans le coin en bas à gauche, au-dessus de la barre d'onglet.
getCurrentLocation
nous aider à obtenir l'emplacement s'il vous plaît?Dans Swift, Nous Pouvons Faire Un bouton par programmation à l'écriture de ce code dans notre viewcontroller.swift fichier...
Si vous allez dans le storyboard de la partie, et en bas à droite aller au cercle, un carré, et l'utilisation d'un bouton vide. Puis dans le code à utiliser @IBAction avec elle pour obtenir de câble dans. Vous pouvez alors faire un @IBAction fonction avec elle.
Swift 4.2 - XCode 10.1
À l'aide d'une fermeture
Dans iOS 12, Swift 4.2 & XCode 10.1