【问题标题】:Swift UIButton - How to remove underline?Swift UIButton - 如何删除下划线?
【发布时间】:2016-04-04 18:22:17
【问题描述】:

在 iOS 设置中启用此设置“按钮形状”时出现问题

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

知道如何以编程方式或在情节提要中禁用它吗?

我尝试了属性文本,但得到了相同的结果:(

我是 Swift 的新手。

感谢您的帮助!

【问题讨论】:

    标签: ios swift uibutton underline


    【解决方案1】:

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

    【讨论】:

    • rmaddy 说了什么。我打开你的问题要说同样的话,但他打败了我。可访问性更改适用于有视力/感知问题或其他缺陷的用户。如果你打败了他们,你会让这些用户更难使用设备。
    • 但是这种方式的按钮看起来很糟糕:(
    • @user1085907 这是用户的选择,不是你的。不要与之抗争。无需辅助功能设置,即可让您的应用看起来美观且正常运行。然后确保它在启用各种可访问性设置的情况下仍然有效(不管它的外观如何)。
    • 但是当用户启用此功能时它会很丑:/
    • 这是用户的选择。而且它并不难看,它很实用。它的存在是有原因的。如果用户启用此功能,他们需要下划线。
    【解决方案2】:

    这是用户4291543对此问题Remove underline on UIButton in iOS 7的回答

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

    我发现这个答案适用于 SWFrameButton

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

    【讨论】:

    • 这个问题是关于 Swift 的。
    • 谢谢!在极少数情况下,这种解决方法值得使用
    【解决方案3】:

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

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

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

    现在继续将按钮的背景设置为您刚刚提供的图像。 (在我的例子中,我称之为clear)这将删除按钮文本中的下划线。但是,现在您看不到按钮的边界。这可以通过更改按钮视图的背景来解决。继续为 ViewBackground 属性选择任何颜色,现在 View 的背景明显定义了按钮的边界。您可以看到这一点,因为您的 clear.png 的不透明度为 0%。

    see the Attributes inspector for UIButton here.

    与其试图通过 UITapGestureRecognizer 使标签执行某些操作来消除下划线,这允许您仍然使用 UIButton。与辅助功能保持一致,以便为想要这样做的人标记按钮。

    【讨论】:

      【解决方案4】:

      您可以创建一个带有标签(颜色清晰)的自定义按钮类。如果您设置此标签的文本,则它不应该有下划线。

      【讨论】:

      • 我也有这个想法,只是寻求更好的解决方案
      • 不,没有自定义实现是没有办法的,但也许你可以只更改 awakeFromNib 中的 titleLabel 而不是添加自己的标签。
      【解决方案5】:

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

      【讨论】:

      • 不,Apple 不会因为那样拒绝该应用程序。
      • 现在就看那个按钮,如果我有一些设计,按钮看起来很糟糕,下划线我该怎么办?几个具有自定义背景的应用程序以某种方式规避了这个问题
      • 请详细说明现有设计(没有下划线)如何尚未标记按钮?
      • 在我看来,Apple 毁了这个功能。首次引入时,按钮形状意味着按钮形状。从 iOS 11 开始,按钮形状意味着带下划线的文本。当按钮形状产生按钮形状时会更好。
      【解决方案6】:

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

      【讨论】:

      • 由于某种原因,当您使用字母或数字而不是 UIButton 的图像时,它会为按钮的标签添加下划线,但如果您为 de 按钮内的标签设置背景图片,它将删除下划线。你可以试一试,你会看到
      猜你喜欢
      • 2014-06-08
      • 1970-01-01
      • 2013-11-10
      • 1970-01-01
      • 2016-08-26
      • 2017-03-23
      • 1970-01-01
      • 2012-02-07
      相关资源
      最近更新 更多