2015-12-30 159 views
6

当在iOS中设置启用此设置“按钮形状” enter image description hereSwift UIButton - 如何删除下划线?

这导致应用该下划线(启用设置第一画面,第二无) enter image description here

任何想法如何我有问题编程或故事板中禁用它?

我试图归因文字,但我得到相同的结果:(

我新手在斯威夫特。

感谢您的帮助!

回答

7

这不是一个问题。你不应该做任何企图反击用户设置的任何辅助功能变化,他们在那里是有原因的

+3

rmaddy说什么。我打开你的问题说同样的事情,但他打败了我。可访问性更改适用于有视觉/感知问题或其他缺陷的用户。如果你击败它们,你会让这些用户更难使用该设备。 –

+0

但这样的按钮看起来很糟糕:( – user1085907

+1

@ user1085907这是用户的选择,不是你的选择,不要打它,让你的应用看起来不错,并且没有可访问性设置就可以正常工作,然后确保它仍然有效(不考虑如何它看起来)与各种辅助功能设置启用)。 – rmaddy

0

您确定要这么做么? 苹果为标记按钮的用户添加了辅助功能,可能会拒绝Apple。你的应用程序,因为它击败了一个系统功能,旨在帮助残疾人士。

+1

不,苹果不会因此拒绝应用程序。 – LoVo

+0

现在只要看看那个按钮,如果我有一些设计,按钮看起来很糟糕,强调我应该怎么做?有几个具有自定义背景的应用程序可以避免这个问题 – user1085907

+0

请详细说明现有设计(没有下划线)是如何标记按钮的? – lensovet

0

您可以使用标签(清晰的颜色)创建自定义按钮类。如果您设置了此标签的文字,则不应出现下划线。

+0

我也有这个想法,只是要求更好的解决方案 – user1085907

+0

没有自定义实现没有办法,但也许你可以改变awakeFromNib中的titleLabel而不是添加自己的标签。 – LoVo

0

这是user4291543从这个问题Remove underline on UIButton in iOS 7

[yourBtnHere setBackgroundImage:[[UIImage alloc] init] forState:UIControlStateNormal]; 

我发现这个答案与SWFrameButton

工作

而对于所有其他说:“不这样做”,SWFrameButton是一个非常答案你什么时候想要这样做的好例子。我也认为OP的情况也是一个完全有效的情况...

+0

这个问题在Swift上。 –

0

我完全同意@ maddy的评论: 这不是问题。您不应该试图阻止用户设置的任何可访问性更改。他们在那里是有原因的。

但我绊倒的方式来完成手头的任务......

除了一个UIButton,您还需要做出没有包含任何.png文件(指全部内容具有0%的不透明度)。继续并将其加载到您的xcode项目的资产中。

现在继续并将按钮的背景设置为您刚刚提供的图像。 (在我的情况下,我把它称为明确)这将从按钮的文本中删除下划线。但是,现在你看不到按钮的边界。这可以通过更改按钮的视图的背景来解决。来吧,选择的的查看背景财产的任何颜色现在查看的背景明显地定义按钮的边界。你可以看到这个,因为你的clear.png的不透明度为0%。

see the Attributes inspector for UIButton here.

而不是试图通过准备做一个标签进行通过UITapGestureRecognizer一些行动来打败下划线,这可以让你仍然可以使用一个UIButton。与可访问性功能保持内嵌,以便为想要这样做的人标记按钮。