将滑动手势放在 UIWebView 上以获取 IOS 中的滚动方向
Put Swipe Gesture over UIWebView to Get Scroll Direction in IOS
我想获取webView中的滚动方向。我阅读了有关获取滚动方向的代码 here.
-(void)userDidScrollWebView:(id)scrollPoint{
// NSLog(@"scrolled:::");
NSString *x1 = [webView stringByEvaluatingJavaScriptFromString: @"scrollX"];
NSString *y1 = [webView stringByEvaluatingJavaScriptFromString: @"scrollY"];
NSLog(@"scroll x=%@ y=%@", x1,y1);
if ([y1 isEqualToString: @"0"]) {
NSLog(@"RELAOD ME");
}
}
我有 2 个问题:-
关于这段代码,我不知道在我的代码中的什么地方调用 userDidScrollWebView
方法,以便我得到关于滚动的定期更新。
另一种方法,我想可能是我可以在 Web 视图上放置滑动手势,但这不起作用。
这就是我在 UIWebView 中实现滑动手势的方式。
- 将
<UIGestureRecognizerDelegate>
协议添加到 ViewController.h
在ViewDidLoad
方法中添加如下代码:
UISwipeGestureRecognizer * swipeGestureDown = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swipeDown)];
swipeGestureDown.numberOfTouchesRequired = 1;
swipeGestureDown.direction = UISwipeGestureRecognizerDirectionDown;
swipeGestureDown.delegate = self;
[self.webView addGestureRecognizer:swipeGestureDown];
在ViewController.m
中添加委托方法:
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
return YES;
}
-(void)swipeDown
{
NSLog(@"swipe down in webView");
}
同样,您可以添加另一个向上滑动手势。
我想获取webView中的滚动方向。我阅读了有关获取滚动方向的代码 here.
-(void)userDidScrollWebView:(id)scrollPoint{
// NSLog(@"scrolled:::");
NSString *x1 = [webView stringByEvaluatingJavaScriptFromString: @"scrollX"];
NSString *y1 = [webView stringByEvaluatingJavaScriptFromString: @"scrollY"];
NSLog(@"scroll x=%@ y=%@", x1,y1);
if ([y1 isEqualToString: @"0"]) {
NSLog(@"RELAOD ME");
}
}
我有 2 个问题:-
关于这段代码,我不知道在我的代码中的什么地方调用
userDidScrollWebView
方法,以便我得到关于滚动的定期更新。另一种方法,我想可能是我可以在 Web 视图上放置滑动手势,但这不起作用。
这就是我在 UIWebView 中实现滑动手势的方式。
- 将
<UIGestureRecognizerDelegate>
协议添加到ViewController.h
在
ViewDidLoad
方法中添加如下代码:UISwipeGestureRecognizer * swipeGestureDown = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swipeDown)]; swipeGestureDown.numberOfTouchesRequired = 1; swipeGestureDown.direction = UISwipeGestureRecognizerDirectionDown; swipeGestureDown.delegate = self; [self.webView addGestureRecognizer:swipeGestureDown];
在
ViewController.m
中添加委托方法:-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { return YES; }
-(void)swipeDown { NSLog(@"swipe down in webView"); }
同样,您可以添加另一个向上滑动手势。