我已经添加UIWebView
了,UIViewController
然后又添加了一个UIViewController
,ViewController
然后我想联系一下UIwebView
。
问问题
96 次
4 回答
1
我有一个UIWebView
作为孩子UIViewController
的观点。对我有用的解决方案(标签手势)是这样的:
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onDoubleTap:)];
tap.numberOfTapsRequired = 1;
tap.delegate = self;
[self.webView addGestureRecognizer:tap];
我UIViewController
正在从协议中实现以下方法UIGestureRecognizerDelegate
(只是重新调整是):
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
return YES;
}
于 2013-05-09T05:59:21.900 回答
0
要识别 的触摸事件UIWebview
,UIScrollview
您可以使用 Gestures。不要忘记UIGestureRecognizerDelegate
在 .h 文件中添加。
UITapGestureRecognizer *single = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(oneTap)];
single.numberOfTapsRequired = 1;
single.delegate = self;
[webview addGestureRecognizer:single];
-(void)oneTap{
NSLog(@"single");
}
于 2013-05-09T06:03:44.453 回答
0
您必须添加手势
首先在.h文件中设置委托
-(void)ViewDidLoad
{
UITapGestureRecognizer *gesture = [[UITapGestureRecognizer alloc]
initWithTarget:self action:@selector(HandleGesture:)];
gesture.delegate=self;
gesture.numberOfTapsRequired = 1;
[YourWebview addGestureRecognizer:gesture];
}
-(void)HandleGesture:(UITapGestureRecognizer *)sender
{
if (gesture.state == UIGestureRecognizerStateEnded)
{
}
if (gesture.state == UIGestureRecognizerStateBegan)
{
// You can write here any action
}
}
- (BOOL)gestureRecognizer:(UITapGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
// test if our control subview is on-screen
if ([touch.view isKindOfClass:[UIWebView class]]) {
// You can handle any thing
return YES;
}return NO; // handle the touch
}
于 2013-05-09T05:59:31.817 回答
0
请注意,手势识别器的触摸是针对视图的,而不是基于页面的。因此,如果您希望您的应用程序响应网页上的特定项目,无论它滚动或缩放到何处,您最好使用 URL 方案向您的应用程序发送信号。
于 2013-05-09T18:16:29.803 回答