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!