最近需要在UIWebView里实现左右划动翻页的功能,发现用UITouch事件没效果,在官方文档里找了个用UIGestureRecognizer实现的方法:
UISwipeGestureRecognizer *swipeRight = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipe:)];
[webView addGestureRecognizer:swipeRight];
[swipeRight release];
UISwipeGestureRecognizer *swipeLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipe:)];
swipeLeft.direction = UISwipeGestureRecognizerDirectionLeft;
[webView addGestureRecognizer:swipeLeft];
[swipeLeft release];
---------------------华丽的分割-------------------
-(void)swipe:(UISwipeGestureRecognizer *)g{
if (g.direction == UISwipeGestureRecognizerDirectionRight) {
[self prevPage];
} else {
[self nextPage];
}
}
UISwipeGestureRecognizer 是UIGestureRecognizer的子类,还有以下几个:
UITapGestureRecognizer
UIPinchGestureRecognizer
UIRotationGestureRecognizer
UISwipeGestureRecognizer
UIPanGestureRecognizer
UILongPressGestureRecognizer
更详细的内容可以查看手册
转载于:https://blog.51cto.com/danal/632593