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

Posted

技术标签:

【中文标题】具有自定义边框颜色的 UIButton,iPhone【英文标题】:UIButton with Custom border colour, iPhone 【发布时间】:2011-09-09 05:28:52 【问题描述】:

我想创建具有矩形形状的自定义 UIButton。为此,我使用矩形视图作为 UIButton 的背景并将 UIbuttons 背景颜色设置为 clearcolor。但是 UIbutton 的边框仍然存在。关于如何使边框消失的任何建议? 感谢您提前提供任何帮助..

【问题讨论】:

可能与***.com/questions/2808888/… 重复。检查那个问题。 这不是您给出的参考的副本......他们正在讨论背景颜色,因为他要求边框颜色。 可能与***.com/questions/8162411/… 重复,祝你好运 【参考方案1】:

试试这个:

    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    [button.layer setBorderColor:[[UIColor clearColor] CGColor]];

但不要忘记添加您的 .h 或 .m 文件

#import <QuartzCore/QuartzCore.h>

【讨论】:

非常感谢...这正是我要找的。​​span> 您还需要添加边框的宽度:[button.layer setBorderWidth:1.0f];【参考方案2】:

我浪费了几分钟,并且对边框没有显示感到沮丧,即使我按照上面的建议设置了 layer 属性。

当我使用以下设置宽度时,我看到了按钮边框。

[[button layer] setBorderWidth:2.0f];

【讨论】:

【参考方案3】:
  button.layer.borderColor = UIColor.orangeColor().CGColor

橙色边框的快速示例

【讨论】:

【参考方案4】:

您可以通过访问按钮的图层属性来设置CALayer上的边框属性。

添加石英

#import <QuartzCore/QuartzCore.h>

设置按钮的属性:

[[myButton layer] setBorderWidth:2.0f];
[[myButton layer] setBorderColor:[UIColor AnyColor].CGColor];

【讨论】:

【参考方案5】:

您应该将UIButton 的类型设置为Custom,而不是Rounded Rect(如果您通过IB 创建按钮)。

如果您以编程方式创建UIButton,那么您可以使用以下代码:

UIButton *but = [UIButton buttonWithType:UIButtonTypeCustom];

之后,您可以进行自己的自定义。

【讨论】:

以上是关于具有自定义边框颜色的 UIButton,iPhone的主要内容,如果未能解决你的问题,请参考以下文章

iOS:自定义按钮(UIButton 的子类) - 无法更改边框属性

两个 UIButton 形成一个具有渐变颜色,另一个具有边框和圆角

iPhone iOS自定义UIButton与CAGradientLayer,如何让它指示触摸?

具有背景颜色和透明前景图像的 UIButton 自定义类型不起作用

具有自定义层的 UIButton 的子类不会完全填充相邻视图的空间

将自定义文本添加到 iPhone sdk 中的 uibutton