我有一个非典型的 iOS 界面。也许这不实用,但我正在尝试。希望有人能帮忙!
我有一个 UIVIew 形式的菜单。它包含 5 个小的 UIImageViews。UIPinchGestureRecognizer 附加到 UIVIew。当向内捏合时,5 个 UIImageView 会从屏幕外动画化,在窗口中间形成一个圆圈。当向外捏时,它们会在屏幕外显示动画。那里一切都很好。
我希望能够在应用程序的任何时候捏住屏幕以显示菜单,选择“按钮”之一(UIImageView),然后加载相关的子视图。
真正的问题是,如果当前可见视图是 UIScrollView 或 UITableView,我的应用程序无法确定菜单或其他子视图是否应该处理触摸事件。如果我真的专注并确保两根手指同时触摸屏幕,那么捏合就会起作用并将菜单向内拉。但除此之外,它会尝试滚动当前可见视图。
我希望除捏手势(以及菜单可见时的点击手势)之外的所有事件都通过菜单视图传递到其余的子视图。
我知道我可以重写 hitTest:withEvent 方法来确定处理事件的正确视图,但目前我不清楚如何准确地使用它。Apple 文档和我在堆栈溢出方面阅读的任何答案都没有让我清楚地了解这种方法。
任何帮助深表感谢。