2014-09-20 53 views
2

我在這裏有iOS程序,覆蓋整個容器視圖的地圖視圖。我希望地圖視圖能夠處理UIScreenEdgeRecognizer,因爲它覆蓋了整個容器視圖。 我認爲最好讓gestureRecognizers數組引用識別器。但是地圖視圖的平移手勢正在中斷屏幕邊緣識別器。我試過gestureRecognizer:shouldFailRequireFailureOfGestureRecognizer和所有這些,但它仍然無法正常工作。但是你會推薦解決方案嗎?我可以讓容器視圖的gestureRecognizers數組引用屏幕邊緣識別器嗎?如何使用覆蓋整個視圖的地圖視圖來處理UIScreenEdgeGestureRecognizer?

+0

您需要向我們展示您的代碼或您的XIB佈局。 – 2014-09-20 13:18:55

回答

4

我所做的是在邊緣添加一個寬度爲10pt的寬度和清晰背景的視圖,我需要手勢識別器,並將手勢識別器添加到此視圖。

在圖片中,右側的白色矩形是具有手勢識別器的視圖。您應該更改背景顏色以清除顏色。

A way to add a UIScreenEdgePanGestureRecognizer on a map view

視圖插座:

@property (weak, nonatomic) IBOutlet UIView *rightEdgeGestureView; 

手勢識別添加到屏幕右邊緣的觀點:

- (void)setupGestureRecognizer { 

     UIScreenEdgePanGestureRecognizer *gestureRecognizer = [[UIScreenEdgePanGestureRecognizer alloc] initWithTarget:self action:@selector(gestureHandler:)]; 
     gestureRecognizer.edges = UIRectEdgeRight; 
     [_rightEdgeGestureView addGestureRecognizer:gestureRecognizer]; 
} 
+0

好主意。非常感謝。 – 2016-12-06 17:10:09

+0

絕妙的主意!,非常感謝。 – 2017-11-26 21:27:49