2015-10-29 3 views
0

Я пытаюсь построить аналогичный контроллер для GMSPlacePicker. У меня есть вид карты на фоне, затем в виде таблицы с прозрачным заголовком. Проблема в том, что все жесты (tap, pan) в заголовке передаются в представление таблицы. Я хочу отключить их, поэтому все касания перейдут непосредственно к отображению карты.Отключить жесты для представления заголовка таблицы

Я могу это сделать, если я установил:

tableView.userInteractionEnabled = false 

, но теперь я не могу прокручивать вид таблицы.

Вопрос в том, как отключить все жесты только для заголовка, но продолжайте получать их для просмотра таблиц.

В основном я хочу получить следующее поведение: https://youtu.be/iSBbEZXDyGg

+0

вы считаете, что карта должна быть позади зрения заголовка. но это точно не сработает. это должно быть достигнуто по-другому. конечно, карта должна быть внутри заголовка. Я думаю об этом, и я вернусь к тебе. – hasan83

ответ

0

Хитрость в том, чтобы создать подкласс UITableView и переопределить

func hitTest(point: CGPoint, withEvent event: UIEvent?) -> UIView? 

ANTableView.swift

import UIKit 

class ANTableView: UITableView 
{ 
    override func hitTest(point: CGPoint, withEvent event: UIEvent?) -> UIView? 
    { 
     let headerViewFrame = tableHeaderView!.convertRect(tableHeaderView!.frame, toView: self) 

     if CGRectContainsPoint(headerViewFrame, point) { 
      return nil 
     } 

     return self 
    } 
} 
0

Вам нужно положить карту внутри вида заголовка. Не позади.

+0

Я приложил видео примера. Вы можете видеть, что должен быть способ добавить карту за заголовком. –

Смежные вопросы