如何制作双线边框的UIButton?

How to make a double line border UIButton?

我希望我的按钮有双线边框,如图所示。

有没有办法以编程方式进行?

您可以继承 UIButton 并覆盖 drawRect:

在这里您可以使用 CGContext

随意绘制边框

希望对您有所帮助!

最简单的可能是将按钮添加为另一个视图的子视图,稍微插入,然后在视图和按钮层上设置边框。

或者在按钮上设置背景图像(可以通过渲染图像的贝塞尔曲线路径在代码中生成)。

另一种方法是使用 UIImage 方法 resizableImageWithCapInsets 创建可拉伸图像。

您要做的是创建一个内部折叠到最小可能尺寸(在本例中为 1 像素)的图像,然后指定边缘的尺寸。当您以这种方式创建 UIImage 时,它​​会将中间部分扩展到任何所需的大小。这会给你双边框。然后,您可以将这些可拉伸图像之一安装为按钮集的背景图像,以在两个维度上调整大小。

编辑:记得将图像创建为 3 倍大小,然后将其缩小至 2 倍和 1 倍大小,这样它在所有不同的设备上看起来都很清晰。 (我们仍然必须支持 iPad 2,它是非视网膜的。如果你是 iPhone,你可以跳过 1x,只保存 @2x 和 @3x 分辨率。)