2017-05-25 1 views
0

je suis nouveau à Swift et travailler une application dans laquelle je bouge mon bouton vert (voir dans l'image) se déplacer avec le doigt sur le côté gauche et au doigt est retiré du bouton, le bouton revient à sa position précédente. Il y a également quatre différentes images de fond de bouton qui changent après chaque mouvement du bouton de la position actuelle au côté gauche. Mais je suis incapable de comprendre comment je fais cela. aidez-moi s'il vous plaît à faire ma tâche.Déplacez le bouton à gauche avec le toucher du doigt et revenez à son premier emplacement lorsque touchez ios Swift

enter image description here

Voici mon code

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 


    location = ((touches.first)?.location(in: self.view))! 

    let position = view.convert(location, to: view) 

    print("Touches Began \(location)") 
    } 

override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) { 

    location = ((touches.first)?.location(in: self.view))! 

    let position = view.convert(location, to: view) 

    print("touches Moved: \(location)") 
} 

override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) { 

    // dont know how i perform 

} 
+0

je pense qu'il est préférable de faire une animation GIF ou dessiner deux images avec deux états de fin. Que tout le monde comprendra ce que vous voulez faire. – blyabtroi

Répondre

0
@IBOutlet weak var yourButtonOutlet: UIButton! 
override func viewDidLoad() { 
    super.viewDidLoad() 
    yourButtonOutlet.addTarget(self, action: #selector(t1),for: .touchUpInside) 
    yourButtonOutlet.addTarget(self, action: #selector(t2),for: .touchDown) 



    // Do any additional setup after loading the view. 
} 
func t1() { 
    print("touch end") 
    yourButtonOutlet.frame = CGRect(x: yourButtonOutlet.frame.origin.x + 50, y: yourButtonOutlet.frame.origin.y, width: yourButtonOutlet.frame.size.width, height: yourButtonOutlet.frame.size.height) 

} 
func t2() { 
    print("touch Start") 
    yourButtonOutlet.frame = CGRect(x: yourButtonOutlet.frame.origin.x - 50, y: yourButtonOutlet.frame.origin.y, width: yourButtonOutlet.frame.size.width, height: yourButtonOutlet.frame.size.height) 

} 

// et l'image de changement sur le bouton de clic

var selected = true 
@IBAction func btnUserAction(_ sender: UIButton) { 
    if selected == true { 
     sender.setImage(UIImage.init(named: "tick"), for: .normal) 
     selected = false; 
    } 
    else{ 
     sender.setImage(UIImage.init(named: "unTick"), for: .normal) 
     selected = true; 
    } 
} 
+0

remplacez 50 par votre valeur. –

+0

comment je fais si je change l'image du bouton sur chaque robinet ??? – Irfan

+0

var sélectionné = true @IBAction func btnUserAction (_ expéditeur: UIButton) { si elle est sélectionnée == true { sender.setImage (UIImage.init (nom: "tick"), pour: .normal) sélectionné = false ; } else { sender.setImage (UIImage.init (nommé: "unTick"), pour: .normal) selected = true; } } –