创建自定义按钮形状 Swift 4

Posted

技术标签:

【中文标题】创建自定义按钮形状 Swift 4【英文标题】:Create custom button shape Swift 4 【发布时间】:2018-03-26 05:53:20 【问题描述】:

我正在创建一个应用程序,除其他事项外,该应用程序需要用户点击以选择分割为区域(a similar example is shown here) 的人体图表上的区域。为此,我需要创建有时不适合 Xcode 提供的矩形格式的按钮。该问题与以下线程中描述的问题相似或相同:

Custom shape touchable area

Create clickable body diagram with Swift (ios)(我找到了一个贝塞尔路径教程,并且能够创建一个非常适合作为近似按钮的路径,只要我知道如何使其可选择并导致操作!)

How to know that if the only visible area of a .png is touched in XCode (swift or objective C)

不幸的是,我无法在情节提要模式下实现上述答案(如果这是不正确的术语,我深表歉意——我对编码非常陌生)。我的目标只是能够将这些按钮覆盖在身体的正确区域上,这样当单击时,所选区域会被染成不同的颜色。我还发现了更多的解决方案,它们要么被编码为 swift 2/3,要么导致了神秘的 SIGABRT。同样,这个答案可能只是对如何实现上述任何解决方案的澄清,老实说,我只是新到足以迅速,经过一个周末的尝试,我仍然无法在我自己的代码中正确应用这些解决方案。

任何帮助将不胜感激。非常感谢您的任何回复!

【问题讨论】:

【参考方案1】:

确实,这取决于你有什么样的设计。如果您在代码中绘制身体部位 this 解决方案可能会对您有所帮助。基本上,您定义一个贝塞尔路径并检查该路径是否包含触摸位置。如果您使用图像来绘制身体部位,您可以查看this video。基本上你检查触摸区域的颜色是否是参考颜色。 如果您找到了其他解决方案,最好与我们分享。

您也可以查看我的其他解决方案here。

【讨论】:

以上是关于创建自定义按钮形状 Swift 4的主要内容,如果未能解决你的问题,请参考以下文章

FacebookSDK(4.1.x) 自定义登录 UI 按钮 - Swift(1.2)

在 Swift 中创建自定义(八角形)UIButton 的最佳方法

需要在 swift 4 中设计自定义标签栏。 - 更新

导航时隐藏自定义中间按钮 swift 4

通过扩展 UIButton 类使用 Swift 创建自定义按钮

Swift为单选按钮创建自定义逻辑