gpt4 book ai didi

ios - 将手势转发到 super View

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:37:30 26 4
gpt4 key购买 nike

所以我得到了这个场景:

-NavigationController
-PageViewController
-MapViewController
-UIView
-MKMapView (Full Screen)
-OtherViewController

所以基本上,我希望它在捕捉 UIScreenEdgeGesture 时切换页面( View Controller )。但是其中之一有 map ,这不能正常工作。

我对此进行了大量研究(!),但仍未找到正确的解决方案。

我认为这里正确的方法是将此手势委托(delegate)给层次结构中的 nextResponder。

所以当用户在屏幕的左边缘滑动时,我已经成功捕获了手势。

现在我的问题是我无法将手势传递给 UIView (MKMapView.superview)。我有两个问题:

//1.怎么做//2. 这是正确的方法吗?

请告诉我您对此的看法!

编辑 1:添加 Storyboard的一些代码和图像

UIScreenEdgePanGestureRecognizer *popRecognizer = [[UIScreenEdgePanGestureRecognizer alloc] initWithTarget:[self.view superview] action:@selector(handlePopRecognizer:)];
popRecognizer.edges = UIRectEdgeLeft;
popRecognizer.delegate = self;

[self.mapView addGestureRecognizer:popRecognizer];

enter image description here

编辑 2:我想要这种行为:Use UIScreenEdgePanGestureRecognizer without moving MKMapView

但是当识别到手势时,我想让它切换到左边的页面(OtherViewController)

最终编辑:我想出的解决方法是在 map 顶部放置一个清晰的 View ,从而实现所需的行为。对解决方案不满意,但现在可以使用。

enter image description here

最佳答案

当你创建手势时,将目标设为父 View ,并调用父 View 中的方法来执行操作,例如:

    UISwipeGestureRecognizer *recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:[self.view superview] action:@selector(swipeHandler:)];

不知道 MKMapView.superview 是否有效,这取决于 MKMapView 是否是一个实例。没有代码很难知道你指的是什么。

关于ios - 将手势转发到 super View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27390155/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com