0
저는 UITableView
입니다. UIAlertView
을 UILongPressGestureRecognizer
에 표시하고 싶습니다.신속한 3에서 손가락 리프트가 해제되기 전에 UIAlertView를 만드는 방법은 무엇입니까?
잘 작동합니다. 화면이 보이기 위해 손가락을 들어야합니다.
손가락이 화면에 있어도 0.5 초 후에 나타날 수있는 방법이 있습니까? UILongPressGestureRecognizer
의 자산을 가지고 계십니까?
편집 :
나 자신에 의해 문제를 본 적이 사실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 : 방금했지만 내 문제를 파악했습니다. 'longPress.state == UIGestureRecognizerState.ended'를'if longPress.state == UIGestureRecognizerState.began'으로 변경해야만 트릭을 만들었습니다. 월요일 아침 눈으로 내 코드를 검색 한 후 시간이 지났음을 알 수 있습니다./ 감사합니다. – Hawkydoky
thats 내 모든 친구 congrtz –
긴 프레스 제스처가 선택자를 트리거 한 후 0.5 초 후에 경고를 표시 하시겠습니까? – thxou