我正在尝试为GMSPlacePicker构建类似的控制器。 我在背景上有Map View,然后是透明标题视图的Table View。问题是标题视图中的所有手势(点击,平移)都会传递到表格视图。我想禁用它们,所以所有的触摸都将直接进入地图视图。
我能够做到如果我设置:
tableView.userInteractionEnabled = false
但现在我无法滚动表视图。
问题是如何仅为标题视图禁用所有手势,但继续将它们用于表格视图。
基本上我想得到以下行为:https://youtu.be/iSBbEZXDyGg
答案 0 :(得分:0)
您需要将地图放在标题视图中。不在其后面。
答案 1 :(得分: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
}
}