Swift UIButton - 如何删除下划线?

时间:2015-12-30 18:39:12

标签: ios swift uibutton underline

我在启用iOS设置时遇到问题此设置“按钮形状” enter image description here

在应用程序中导致此下划线(第一张图片启用设置,第二张没有) enter image description here

任何想法如何以编程方式或在故事板中禁用它?

我尝试了归因文本但得到的结果相同:(

我是斯威夫特的新手。

感谢您的帮助!

6 个答案:

答案 0 :(得分:8)

这不是问题。您不应尝试对抗用户设置的任何可访问性更改。他们是有原因的。

答案 1 :(得分:1)

这是来自此问题Remove underline on UIButton in iOS 7

的user4291543的回答
[yourBtnHere setBackgroundImage:[[UIImage alloc] init] forState:UIControlStateNormal];

我发现这个答案适用于SWFrameButton

对于所有其他人说“不要这样做”,SWFrameButton是你想要这样做的一个很好的例子。我也认为OP的情况也是一个非常有效的场景......

答案 2 :(得分:0)

你确定要这样做吗? Apple增加了一个辅助功能,可以为想要这样做的人标记按钮。 Apple可能会拒绝您的应用程序,因为它会破坏旨在帮助​​残疾人的系统功能。

答案 3 :(得分:0)

您可以使用标签(具有清晰的颜色)创建自定义按钮类。如果您设置此标签的文本而不应该下划线。

答案 4 :(得分:0)

我完全同意@ maddy的评论: 这不是问题。您不应尝试对抗用户设置的任何可访问性更改。他们是有原因的。

但我偶然发现了完成手头任务的方法......

除了UIButton之外,您还需要创建一个不包含任何内容的.png文件(意味着整个内容的不透明度为0%)。继续将其加载到xcode项目的资产中。

现在继续将按钮的背景设置为您刚刚提供的图像。 (就我而言,我称之为清除)这将删除按钮文本中的下划线。但是,现在您无法看到按钮的边界。这可以通过更改按钮视图的背景来解决。继续为查看背景属性选择任何颜色,现在视图的背景可见地定义按钮的边界。你能看到这个,因为你的clear.png的不透明度为0%。

see the Attributes inspector for UIButton here.

不是试图通过UITapGestureRecognizer使标签执行某些操作来打败下划线,而是允许您仍然使用UIButton。与可访问性功能保持内联,为想要这样做的人标记按钮。

答案 5 :(得分:0)

我找到了解决方案。您所要做的就是将图片设置为按钮的背景。只需选择一张与您创建的按钮颜色相同的图片即可。