我有一个显示图像的UIPageViewController。我已经设置了邮寄用户当前正在查看的所需图像的机会。为此,如果用户点击屏幕的中央区域,则会出现一个带有标题为“邮件”的条形按钮项目的标签栏。按下此按钮后,imaged将附加到邮件编辑器。但是我在这里有一点问题:当我点击它时左侧边缘的条形按钮会发生页面卷曲,我无法获得邮件编辑器 - 更准确地说,我无法点击按钮。按下此按钮后,如何防止页面卷曲?
答案 0 :(得分:2)
有几种方法可以解决这个问题。第二种解决方案更容易实现。
第一个是访问为页面视图控制器定义的手势识别器(来自“gestureRecognizers”属性,它返回一组手势识别器),搜索“tap类型”手势,然后为它们分配一个委托给你的视图控制器。该委托将实施方法
gestureRecognizer:shouldReceiveTouch:并检查标签栏位置是否发生了敲击,并且在这种情况下将返回NO,因此不会触发手势。如果您仍想要点按,但是您的代表将返回YES,但它位于标签栏区域之外。
另一种可能性是定义新的点击手势识别器并将其分配给标签栏。在这种情况下,当您点击按钮(位于标签栏中)时,将触发您分配到点击手势的目标选择器。显然,这个选择器不会做任何事情,因为它的目的只是为了避免传播到超出它的手势(这是默认行为)。
我认为我的回答来得太迟了,所以如果您找到了更好的解决方案,请发布!