swift - 如何使用 Swift 3 创建不带交互式剪切区域的圆形标签/按钮

标签 swift uibutton rounded-corners

困境:如何创建一个没有交互式剪切区域的圆形按钮。

示例:

myButton.layer.cornerRadius = 50
myButton.clipsToBounds = true

结果:

enter image description here

太棒了!尽管我不希望灰色区域保持互动。我们绝对可以自定义一个按钮,使用 UIBezierPath 在 View 内绘制一个形状,并检查每次点击的坐标是否在我们的自定义路径内,然后使用react。但我想相信有一种更简单的方法!

非常感谢任何想法! 谢谢你!

最佳答案

对我来说最简单的方法:

override func point(inside point: CGPoint, with event: UIEvent?) -> Bool {
        return UIBezierPath(roundedRect: self.bounds, cornerRadius: self.cornerRadius).contains(point)
}

关于swift - 如何使用 Swift 3 创建不带交互式剪切区域的圆形标签/按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40032746/

相关文章:

ios - 分组的 UITableView 圆角半径默认值

ios - 为什么 UIPickerView 显示空列表

ios - 使用 UIActivityViewController 失败将图像和文本共享到 Facebook Messenger

ios - 通过引用传递 UIButton

html - 在 HTML/CSS 中实现跨浏览器圆 Angular 边框的最简单方法是什么?

IE8 中的 CSS 圆 Angular

swift, alamofire 取消之前的请求

swift - 更改属性标题在按钮中的位置

ios - 使用 UIBezierPath 自定义 UIButton

ios - 调整大小以适合其 titleLabel 的 UIButton