2011-09-14 36 views
2

我已经创建了一个网页视图以显示PDF,现在使用的手势识别单抽头我必须调用一些方法,但单抽头不能识别手势识别器在iPhone应用程序

我已经使用这个代码

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

类似这样的问题:http://stackoverflow.com/questions/2909807/does-uigesturerecognizer-work-on -a-uiwebview – Stuart

+0

i dint从上面的链接获得所需的答案, – Ravi

回答

1

你试过设置:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer; 

返回YES?此外,请确保您将轻拍手势的代表设置为自我,以便正确接收消息。我只是在一个新项目中测试了它,它确实有效。

编辑

不太清楚你的动画开始什么&承诺是 - setNavigationBarHidden:animated:动画本身的方法。此外,在iOS 4以上版本中,不鼓励使用这些动画定义 - 请使用UIView来代替使用基于块的动画。

为您导航控制器,你是非常有 - 实现这样的事情:

- (void)screenTappedTwice:(UITapGestureRecognizer *)sender 
{ 
    BOOL shouldHideNavBar = [self.navigationController isNavigationBarHidden] ? NO : YES; 
    [self.navigationController setNavigationBarHidden:shouldHideNavBar animated:YES]; 
} 
+0

ya感谢你的答案,我已经在UITapGestureRecognizer操作中调用了screenTappedtwice:方法来隐藏导航栏,但它不起作用可以帮助我吗?为mehod定义screenTappedtwice请参阅我编辑的问题 – Ravi

+0

@Ravi:请参阅我编辑的答案。 – Stuart