UIScreenEdgePanGestureRecognizer doesn't fire reliably on device on UIRectEdgeRight in UIInterfaceOrientationLandscapeLeft

Originator:matthias.tretter
Number:rdar://16405636 Date Originated:24.3.2014
Status:Open Resolved:
Product:iOS Product Version:7.1
Classification: Reproducible:Always
 
Summary:
Any UIScreenEdgePanGestureRecognizer only fires from time to time, when an edge-pan is performed from the right edge of the device and the device is currently in the interrface orientation landscape left.

Steps to Reproduce:
1. Create a new UIScreenEdgePanGestureRecognizer
2. set "edges" to UIRectEdgeRight
3. Run
4. Rotate the device to landscape left
5. Perform an edge-pan from the right edge of the device
6. the gesture recognizer only fires sporadically

Expected Results:
The gesture recognizer fires every time an edge pan is performed

Actual Results:
The gesture recognizer only fires sporadically, even though an edge-pan from the right edge is performed

Version:
iOS 7.1

Notes:
There is no gesture recognizer dependency or delegate set up, a similar gesture recognizer with "edges" set to UIRectEdgeLeft fires as expected. Here's a sample code to illustrate the problem, when run on device:

- (void)viewDidLoad {
    [super viewDidLoad];

    UIScreenEdgePanGestureRecognizer *edgePanLeft = [[UIScreenEdgePanGestureRecognizer alloc] initWithTarget:self action:@selector(handleEdgePanLeft:)];
    edgePanLeft.edges = UIRectEdgeLeft;
    [self.view addGestureRecognizer:edgePanLeft];

    UIScreenEdgePanGestureRecognizer *edgePanRight = [[UIScreenEdgePanGestureRecognizer alloc] initWithTarget:self action:@selector(handleEdgePanRight:)];
    edgePanRight.edges = UIRectEdgeRight;
    [self.view addGestureRecognizer:edgePanRight];
}

- (void)handleEdgePanLeft:(UIScreenEdgePanGestureRecognizer *)edgePan {
    NSLog(@"left");
}

- (void)handleEdgePanRight:(UIScreenEdgePanGestureRecognizer *)edgePan {
    NSLog(@"right");
}

Configuration:
Tested on iPad 3/4 on iOS 7.0 - iOS 7.1

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!