我创建了一个webview来显示pdf,现在单击时使用手势识别器我必须调用某种方法,但单击无法识别
我已使用此代码
UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 450,450)];
UITapGestureRecognizer *DoubleFingerDTap = [[UITapGestureRecognizer alloc]
initWithTarget:self action:@selector(screenTappedtwice:)];
DoubleFingerDTap.numberOfTapsRequired = 1;
[webView addGestureRecognizer:DoubleFingerDTap];
[DoubleFingerDTap release];
方法叫
- (void)screenTappedtwice:(UIGestureRecognizer *)sender {
CGPoint tapPoint = [sender locationInView:sender.view.superview];
[UIView beginAnimations:nil context:NULL];
sender.view.center = tapPoint;
//Check the current state of the navigation bar...
//BOOL navBarState = [self.navigationController isNavigationBarHidden];
// Set the navigationBarHidden to the opposite of the current state.
// [self.navigationController setNavigationBarHidden:TRUE animated:YES];
[self.navigationController setNavigationBarHidden:YES animated:YES];
[UIView commitAnimations];
}
答案 0 :(得分:1)
您是否尝试过设置:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer;
返回YES
?此外,请确保将您的点击手势的委托设置为自己,以便正确接收消息。我刚刚在一个新项目中对此进行了测试,它确实有效。
的修改
不太确定你的动画开头是什么? commit是for - 方法setNavigationBarHidden:animated:
使自己动画化。此外,在iOS 4及更高版本中不鼓励使用这些动画定义 - 请考虑在UIView
上使用基于块的动画。
对于你的导航控制器,你几乎就是 - 实现这样的东西:
- (void)screenTappedTwice:(UITapGestureRecognizer *)sender
{
BOOL shouldHideNavBar = [self.navigationController isNavigationBarHidden] ? NO : YES;
[self.navigationController setNavigationBarHidden:shouldHideNavBar animated:YES];
}