Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Swift Discussion :

Problème avec @IBAction


Sujet :

Swift

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Swift
    Inscrit en
    mai 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Swift
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2019
    Messages : 1
    Points : 2
    Points
    2
    Par défaut Problème avec @IBAction
    Bonsoir très chers amis,

    Je fais appel à votre savoir car après de longues recherches sur de multiples forums et sur des cours en ligne, je n'arrive pas à utiliser les actions (@IBAction) de la manière souhaitée.

    Je vous explique. Dans une partie de mon programme, je dois afficher la deuxième vue (SecondViewController) UNIQUEMENT si des conditions lui ordonnent d'afficher cette fenêtre. Si ces conditions ne sont pas réunies, je souhaiterai afficher un message d'erreur sur la première fenêtre. Je précise que cela ce passe sous IOS.

    Voici un exemple de ce que je voudrais:

    var nom: String = "Jean"

    @IBAction func resultat(_ sender: UIButton) {
    if nom == "Jean"{
    //change fenêtre
    }
    else{
    //affiche un message sur la première fenêtre
    }
    }

    Je sais que ce n'est pas comme ça que ça fonctionne mais c'est juste un exemple pour remplacer mes mots. J'espère que quelqu'un saura répondre à ma question.

  2. #2
    Membre régulier
    Inscrit en
    mars 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : mars 2007
    Messages : 254
    Points : 120
    Points
    120
    Par défaut Réponse
    Hello Valkym,

    Désolé pour la réponse tardive, voici un exemple de code (Attention, il n'y a pas de navigationController dans l'exemple et je n'ai pas utilisé storyboard).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    import UIKit
     
    class ViewController: UIViewController {
     
        var nom: String = "Jean"
        let buttonClick: UIButton = {
            let button = UIButton()
            button.translatesAutoresizingMaskIntoConstraints = false
            button.layer.borderWidth = 2
            button.layer.borderColor = UIColor(red: 0/255, green: 174/255, blue: 239/255, alpha: 1).cgColor
            button.setTitle("test", for: .normal)
            button.setTitleColor(UIColor(red: 0/255, green: 174/255, blue: 239/255, alpha: 1), for: .normal)
            button.addTarget(self, action: #selector (resultat(_:)), for: .touchUpInside)
            return button
        }()
     
        override func viewDidLoad() {
            super.viewDidLoad()
            self.view.backgroundColor = .white
            self.view.addSubview(buttonClick)
     
            redessine(UIScreen.main.bounds.size)
        }
     
        //MARK: - Affichage
        func redessine(_ size: CGSize) {
            let views = ["buttonClick": buttonClick]
            self.view.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|-(250)-[buttonClick]-(>=20)-|", options: [], metrics: nil, views: views))
            self.view.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|-(200)-[buttonClick]-(200)-|", options: [], metrics: nil, views: views))
        }
     
        //MARK: - Fonctions
        @objc func resultat(_ sender: UIButton) {
            if nom == "Jean" {
                let deuxiemeVue = DeuxiemeViewController()
                self.present(deuxiemeVue, animated:true, completion:nil)
            }else{
                let alertController = UIAlertController(title: "Attention", message: "Ceci est une alerte", preferredStyle: .alert)
                let okAction = UIAlertAction(title: "OK", style: .default, handler: nil)
                alertController.addAction(okAction)
                present(alertController, animated: true, completion: nil)
            }
        }
     
    }
    Bien à toi

    Benjisan

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 12h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 11h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 19h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 17h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo