2012-04-22 96 views
1

我有一个显示图像的UIPageViewController。我已经设置了一个发送用户当前正在查看的所需图像的机会。为此,如果用户点击一次屏幕的中心区域,标签栏将出现一个标题为“邮件”的栏按钮项目。当按下此按钮时,图像被附加到邮件编辑器。但是我在这里遇到了一些问题:当我点击它时页面按钮位于左边缘,发生页面卷曲,我无法获得邮件编辑器 - 更确切地说,我无法获取按钮。当按下此按钮时,我将如何防止页面卷曲?IOS - 在PageViewController中阻止页面卷曲

回答

2

有几种方法可以解决这个问题。第二种解决方案更容易实施。

第一个是访问为页面视图控制器定义的手势识别器(来自“gestureRecognizers”属性,它返回一组手势识别器),搜索“敲击类型”手势,然后为它们分配一个委托到你的视图控制器。该代表将执行方法

gestureRecognizer:shouldReceiveTouch:
,并检查是否在标签栏位置发生轻击,并在此情况下返回NO,因此不会触发手势。如果您仍然需要水龙头,但您的代表将返回YES,但它位于选项卡栏区域之外。

另一种可能性是定义一个新的轻敲手势识别器并将其分配给标签栏。在这种情况下,当您敲击按钮(位于标签栏中)时,将触发您分配给轻击手势的目标选择器。显然,这个选择器不会做任何事情,因为它的目的只是为了避免传播到超出它的手势(这是默认行为)。

我想我的回答来得太迟了,因此如果您找到了更好的解决方案,请发布!