如何将UIView设置为在mapView之上接收输入的方式

问题描述 投票:0回答:1

这是一个奇怪的特殊问题,但我似乎无法弄清楚或找到答案。我有一个挂在导航栏上的横幅(音量小的时候可以通过滑动限制看到)。我想让这个横幅可以点击,通过按钮或者手势识别器都可以,似乎都不行,而且在点击地图时,地图的下方还是被控制着的

The banner in question'

我已经试过了。

  • 设置 isExclusiveTouch = true 旗帜上的视图
  • 将该bannerView带到导航View的顶部(bringSubViewToFront)
  • 在interfaceBuilder中设置底部的BannerView。

不知道还能做什么。如果不清楚的话,抱歉,如果需要的话,我可以多加一些代码例子。

ios swift xcode uikit
1个回答
0
投票

经过一段时间的搜索,我找到了答案。我必须覆盖 hitTest 的函数。我必须这样做,因为为了 "显示 "bannerView,我更新了约束条件,使它向下滑动(在它的父视图之外)。因为它在父视图的约束条件之外,所以banner忽略了用户的输入。

obj-c和swift的代码示例可以在这里找到。

使用hitTest:withEvent捕捉superview框架外的子视图上的触动。

© www.soinside.com 2019 - 2024. All rights reserved.