我在我的应用程序中使用了一个 UIPageViewController,我想在它里面有一些 UIButtons,有点像一个菜单。我遇到的问题是,当我将 UIButton(或任何其他交互元素)放在屏幕边缘附近并点击它时,而不是应用 UIButton 操作,页面会发生变化(因为点击边缘屏幕更改 UIPageViewController 上的页面)。我想知道是否有办法让 UIButton 比 UIPageViewController 具有更高的优先级,这样当我点击按钮时,它会应用适当的操作而不是更改页面。
最佳答案
我遇到了同样的问题。斯普利特的 link有答案。
让您的 Root View Controller 成为每个 UIPageViewController
的手势识别器的委托(delegate),然后如果触摸发生在任何 UIControl
内,则阻止传递触摸:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
return ([touch.view isKindOfClass:[UIControl class]] == NO);
}
关于iphone - UIPageViewController 中的 UIButton 交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8037448/