首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >限制UISwipeGestureRecognizer区域

限制UISwipeGestureRecognizer区域
EN

Stack Overflow用户
提问于 2017-02-05 22:21:34
回答 2查看 151关注 0票数 0

我使用了一些UISwipeGestureRecognizer作为菜单的选择器。因为我有不止一个,所以我需要有一个有限的滑动检测区域。这是我使用的代码:

代码语言:javascript
复制
 var rightSwipe = UISwipeGestureRecognizer(target: self, action: Selector("handleSwipe1"))

 rightSwipe.direction = .right

 view.addGestureRecognizer(rightSwipe)

我试过将它添加到UIImageView中,但它无法检测到触摸。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-05 22:31:45

默认情况下,UIImageUILabelisUserInteractionEnabled为false。将其设置为true。

据我所知,你不能限制手势区域。但是你可以检查手势的位置,并决定如何处理它。

例如:

代码语言:javascript
复制
func addGesture() {
    let rightGesture = UISwipeGestureRecognizer(target: self, action: #selector(someAction(sender:)))
    rightGesture.direction = .right

    let leftGesture = UISwipeGestureRecognizer(target: self, action: #selector(someAction(sender:)))
    leftGesture.direction = .right

    view.addGestureRecognizer(rightGesture)
    view.addGestureRecognizer(leftGesture)
}

func someAction(sender: UISwipeGestureRecognizer) {
    let location = sender.location(in: view)
    if location.x > view.frame.width / 2 && sender.direction == .right {
        // do something
    } else if location.x < view.frame.width / 2 && sender.direction == .left {
        // do something else
    }
}
票数 0
EN

Stack Overflow用户

发布于 2017-02-05 22:24:37

我只需要添加.isUserInteractionEnabled = true。下面是我的代码:

代码语言:javascript
复制
  var imageswipe = UIImageView()
  imageswipe.backgroundColor = UIColor.red
  imageswipe.frame = CGRect(x: 0, y: 0, width: self.size.width, height: self.size.height / 4)
  imageswipe.center = CGPoint(x: self.size.width / 2, y: self.size.height / 2)

  var rightSwipe = UISwipeGestureRecognizer(target: self, action: Selector("handleSwipes"))
  rightSwipe.direction = .right

  imageswipe.isUserInteractionEnabled = true
  imageswipe.addGestureRecognizer(rightSwipe)

  view.addSubview(imageswipe)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42053138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档