我想在我的应用程序中添加一个手势,这样当用户垂直滑动时,它会触发一个方法来做某事。滑动可以向上或向下。我从来没有对手势做过任何事情,所以这是我第一次使用手势,而不是 UITableView 中包含的用于删除行的手势。
另一个问题是我的大部分屏幕都是 UITableView,所以用户可以简单地滚动 UITableView。所以我想知道我是否可以使用两指滑动(垂直)来检测运行代码的手势,而不是单指滑动来滚动 UITableView?
先感谢您。
尼尔
我想在我的应用程序中添加一个手势,这样当用户垂直滑动时,它会触发一个方法来做某事。滑动可以向上或向下。我从来没有对手势做过任何事情,所以这是我第一次使用手势,而不是 UITableView 中包含的用于删除行的手势。
另一个问题是我的大部分屏幕都是 UITableView,所以用户可以简单地滚动 UITableView。所以我想知道我是否可以使用两指滑动(垂直)来检测运行代码的手势,而不是单指滑动来滚动 UITableView?
先感谢您。
尼尔
这在 ApplicationDidLaunch 中进行:
UISwipeGestureRecognizer *swipeGesture = [[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipedScreen:)] autorelease];
swipeGesture.numberOfTouchesRequired = 2;
swipeGesture.direction = (UISwipeGestureRecognizerDirectionUp|UISwipeGestureRecognizerDirectionDown);
[window addGestureRecognizer:swipeGesture];
然后实施
- (void) swipedScreen:(UISwipeGestureRecognizer*)swipeGesture {
// do stuff
}
使用UIGestureRecognizer和UISwipeGestureRecognizer的文档。
此外,如果您希望检测滑动的方向,则必须设置两个单独的手势识别器。您无法从滑动手势识别器中获取滑动方向,只能获取它注册识别的方向。
在 swift 4.0 中,AppDelegate 的方法 didFinishLaunchingWithOptions 继续:
let swipeGesture = UISwipeGestureRecognizer(target: self, action: #selector(self.swipedScreen(swipeGesture:)))
swipeGesture.numberOfTouchesRequired = 2
swipeGesture.direction = [UISwipeGestureRecognizerDirection.up, UISwipeGestureRecognizerDirection.down]
window?.addGestureRecognizer(swipeGesture)
和行动:
@objc func swipedScreen(swipeGesture: UISwipeGestureRecognizer){
Swift.print("hy")
}