如何制作自定义 UIButton,使其具有不规则的曲线,如岩石、石头、树木……等?

Posted

技术标签:

【中文标题】如何制作自定义 UIButton,使其具有不规则的曲线,如岩石、石头、树木……等?【英文标题】:How can i make a custom UIButton so that it has irregular curves like a rock,stone,tree ...etc? 【发布时间】:2013-02-09 09:14:33 【问题描述】:

我想制作一个按钮,使其具有石头/火箭的形状(即不规则形状,而不是矩形,正方形......等) ,我想让它也以相同的形状突出显示/边框,我尝试了UIButtonTypeCustom,但它没有给我想要的东西..所以任何人都有任何帮助或想法,不要吝啬。

提前致谢。

【问题讨论】:

使用 UIButtonTypeCustom 您必须为按钮的每个状态提供资源。 【参考方案1】:

使用UIButtonTypeCustom,但也可以为按钮的外观添加您的自定义资源。 通常,您会将 UIButton 的背景图像设置为按钮的每种状态(正常、突出显示、禁用……)所需的图像(岩石、火箭等)。

只需在 Xcode 项目中添加图像,然后直接在 XIB 中(使用右侧的 Object Inspector 面板)或通过代码使用 setBackgroundImage:forState: 方法为 UIButton 的每个状态设置背景图像。

【讨论】:

谢谢,阿里这不是我之前提到的状态,我之前已经做过这些步骤,但我的意思是按钮的实际形状而不是它的背景:) 通常只有不完全透明的背景图像部分是可点击的。如果您仍然想要更多可定制的形状和点击测试,只需在 UIButton 的子类上实现点击测试方法。请参阅 Apple 文档中的 UIView 文档和事件编程指南。 我认为你是对的,这种方式应该可以工作,子类化 UIButton 是我想到的解决方案,但我要求为这个任务提供一个通用解决方案,它适合任何形状,例如 body器官应该采用不同的形状,为每个器官都有一个子类 UIButton 不是一个合乎逻辑的解决方案,但你的回答仍然可以解决问题,谢谢:) 你可能想看看这个github项目github.com/ole/OBShapedButton

以上是关于如何制作自定义 UIButton,使其具有不规则的曲线,如岩石、石头、树木……等?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改自定义 UIButton 的边框宽度

如何动态更改自定义 UIButton 图像

自定义 UIImagePickerController 使其具有白色边框

具有自定义边框颜色的 UIButton,iPhone

如何让用户在具有多个 UIButtons 的视图中只选择一个自定义 UIButton?斯威夫特 3

如何在 Swift 中创建具有自定义形状的 UIButton?