微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有圆角 UIKit 的 UIImageView 的可点击区域

如何解决带有圆角 UIKit 的 UIImageView 的可点击区域

我遇到了一个有趣的问题 - 有一个带圆角的方形 UIImageView(使它成为一个圆形),我做了它,所以每当你触摸视图时就会发生一些事情,但问题是圆外和内的区域视图的框架仍然可以点击,我不知道如何修复它。

明确地说,我希望我的视图只能在圆圈内点击。有办法吗?

这是我的代码片段:

src/
  components/
    ParentComp/
      ParentComp.js
      components/
        ScopedComp.js

解决方法

将视图控制器指定为识别器的代理,并过滤识别器接收到的触摸:

func viewDidLoad() {
    ...
    tap.delegate = self
}

func gestureRecognizer(_ gr: UIGestureRecognizer,shouldReceive touch: UITouch) -> Bool {
    let bezierPath = UIBezierPath(roundedRect: profilePictureView.bounds,cornerRadius: profilePictureView.layer.cornerRadius)
    let point = touch.location(in: profilePictureView)
    return bezierPath.contains(point)
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。