J'ai un UITableView
et je voudrais faire un UIAlertView
pour apparaître sur un UILongPressGestureRecognizer
.Comment faire un UIAlertView apparaît avant le décollage du doigt dans swift 3?
Cela fonctionne bien maintenant, c'est que je dois lever le doigt de l'écran pour le voir apparaître.
Existe-t-il un moyen de le faire apparaître après 0,5 s (par exemple) même si le doigt est toujours à l'écran? À la propriété du UILongPressGestureRecognizer
?
EDIT:
class Settings: UIViewController , UITableViewDataSource, UITableViewDelegate {
override func viewDidLoad() {
super.viewDidLoad()
let longPress = UILongPressGestureRecognizer(target: self, action: #selector(Settings.deleteItem))
self.tableView.addGestureRecognizer(longPress)
}
func deleteItem(longPress:UIGestureRecognizer) {
if longPress.state == UIGestureRecognizerState.ended {
let pressedLocation = longPress.location(in: self.tableView)
if let pressedIndexPath = tableView.indexPathForRow(at: pressedLocation) { //Give the row where it's touched
RowSelected = (actionList?[pressedIndexPath[1]])!
print(RowSelected)
longtouched = pressedIndexPath[1]
let alert = UIAlertController(title: "What do you want to do?", message: "Select the action you want to do.", preferredStyle: UIAlertControllerStyle.alert)
let Cancel = UIAlertAction(title: "Cancel", style: .default) { actio in
print("Canceled")
}
let Delete = UIAlertAction(title: "Delete", style: .default) { actio in
//DOING MY STUFF
}
let Modify = UIAlertAction(title: "Modify", style: .default) { actio in
UserDefaults.standard.set(self.longtouched, forKey: "modify")
self.performSegue(withIdentifier: "ToModify", sender: self)
}
alert.addAction(Modify)
alert.addAction(Delete)
alert.addAction(Cancel)
self.present(alert, animated: true, completion: nil)
}
}
}
@ Anbu.Karthik: Juste fait, mais je suppose que j'ai compris mon problème. Juste a dû changer 'si longPress.state == UIGestureRecognizerState.ended' à' si longPress.state == UIGestureRecognizerState.began' et il a fait l'affaire. Je suppose que les yeux du lundi matin m'aident à voir qu'après des heures de recherche dans mon code:/ Merci quand même. – Hawkydoky
thats tous mes bro congrtz –
Voulez-vous dire d'afficher l'alerte 0.5s après le geste de presse long déclenche son sélecteur? – thxou