Я хочу переопределить поведение по умолчанию двойного нажатия на mapView.Почему мой UITapGestureRecognizer не работает, когда я прикрепляю его к элементу моего UITableViewCell?
В моем swift
приложение у меня есть mapView
в статической камере, так и в методе cellForRowAt
я решил добавить UITapGestureRecognizer
. Вот как я это делаю:
func tableView(_ myTable: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if (indexPath as NSIndexPath).row == 0 {
let cell = myTable.dequeueReusableCell(withIdentifier: "cellStatic") as! MyTableDetailsCell
cell.mapView.isScrollEnabled = false //this works
//this does not:
let tap = UITapGestureRecognizer(target: self, action: #selector(doubleTapped))
tap.numberOfTapsRequired = 2
cell.mapView.addGestureRecognizer(tap)
...
А то у меня есть простая функция:
func doubleTapped() {
print("map tapped twice")
}
Но когда я нажимаю два раза карты - это масштабирование и нет печати в журнале консоли - так мой код не работает. Что я упустил?
Попробуйте установить 'UserInteractionEnabled' =' true' из 'cell.mapView' – pkc456
hm, который не помог ... Я уже настроил его в раскадровке, я также написал его в коде, чтобы быть уверенным , но без каких-либо успехов: | – user3766930
Вы хотите отключить прокрутку и двойное нажатие автоматического масштабирования вида карты? –