创建自定义按钮形状Swift 4

时间:2018-03-26 05:53:21

标签: swift xcode uibutton swift4 uibezierpath

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

Custom shape touchable area

Create clickable body diagram with Swift (iOS)(我找到了一个bezier路径教程,能够创建一个非常棒的路径作为一个近似按钮,只要我知道如何让它可以选择并导致动作!)

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

不幸的是,我无法在故事板模式下实现上述答案(如果这是不正确的术语,我会道歉 - 我对编码很新)。我的目标是简单地将这些按钮覆盖在身体的正确区域上,这样当点击时,所选区域被着色为不同的颜色。我还发现了几个解决方案,这些解决方案要么编写为快速2/3,要么导致神秘的SIGABRT。同样,这个答案可能只是对如何实现上述任何解决方案的澄清,老实说,我刚刚开始尝试,经过一个周末的尝试,我仍然无法在我自己的代码中正确应用这些解决方案。

非常感谢任何帮助。非常感谢您的回复!

1 个答案:

答案 0 :(得分:0)

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

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