我有一个带有MGSplitView的应用程序,其中包含一个表视图和一个固定到风景的UIWebView。web视图具有附加到web视图的UITapGestureRecognizer (用于三次轻拍)。web视图左侧的轻击可用;web视图右侧的轻击将丢失-不会触发操作,也不会收到手势委派消息。
问题似乎不在MGSplitViewController上,因为切换到UISplitViewController也有同样的问题;从轻敲到长按也会产生同样的结果。
点击位置报告的x坐标等于或接近gesture.view的最大宽度,但却清楚地显示在靠近显示屏中心的位置,我认为这与问题的根源有关-但web视图内容清晰可见并正确放置。
所有涉及到的视图控制器都实现了shouldAutorotate和supportedInterfaceOrientations,所以似乎不太可能停留在纵向视图中,比如MGSplitViewController,我的UITableView子类(左侧面板)和右侧面板的UIViewController子类。
我的手势识别器委托和来自三次点击的输出(右手面板web视图中的视图):
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
NSLog(@"%s", __PRETTY_FUNCTION__);
NSLog(@"gestureRecognizer view frame: %@", NSStringFromCGRect(gestureRecognizer.view.frame));
NSLog(@"location %@", NSStringFromCGPoint([gestureRecognizer locationInView:gestureRecognizer.view]));
return YES;
}
-[DocumentBrowser gestureRecognizer:shouldReceiveTouch:]
gestureRecognizer view frame: {{0, 0}, {703, 704}}
location {703, -20}
-[DocumentBrowser gestureRecognizer:shouldReceiveTouch:]
gestureRecognizer view frame: {{0, 0}, {703, 704}}
location {414.5, 204.5}
-[DocumentBrowser gestureRecognizer:shouldReceiveTouch:]
gestureRecognizer view frame: {{0, 0}, {703, 704}}
location {414.5, 204.5}报道的第一个地点似乎很奇怪。
发布于 2013-01-01 00:14:11
检查您的方向并查看调整大小的机制。当这些区域出现问题时,我已经见过几次了-如果你记录触摸位置,我想你可能会发现它们停在从左侧算起的768点,也就是说,有一个地方的视图认为它是纵向的。
https://stackoverflow.com/questions/14103700
复制相似问题