iphone - UIPageViewController 中的 UIButton 交互

标签 iphone objective-c xcode uipageviewcontroller

我在我的应用程序中使用了一个 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/

相关文章:

objective-c - 仍然对 Objective-C 的动态绑定(bind)感到困惑

objective-c - UIAlertView 显示一次

iphone - 将ViewController推到左边-简单吗?

iphone - iOS 7 MKOverlayRenderer 不工作

ios - 在 iOS 中点击关闭设备低电量警报时,应用程序导航到主屏幕

ios - 如何在 iOS 的特定页面上打开 facebook 和 twitter

iphone - NSPredicate 嵌套关系

iphone - 删除 UITableViewStyleGrouped UITableView 的插图?

iPhone- Twitter API GET Users Followers/Following 用户

ios - 重用 uitextfield 进行输入验证