标签在按钮上,如何在iOS7中突出显示按钮按下的文本?

Posted

技术标签:

【中文标题】标签在按钮上,如何在iOS7中突出显示按钮按下的文本?【英文标题】:Label over button, how to highlight text on button press in iOS7? 【发布时间】:2014-04-01 18:05:55 【问题描述】:

我有一个按钮和多个标签放置在情节提要的按钮上。对于按钮,我指定了默认状态和高亮状态。同样对于标签,我在情节提要中指定了突出显示颜色。

但是在按下按钮时标签的字体颜色不会变为白色。我错过了什么吗?我想在情节提要中配置此行为,而不是以编程方式。这可能吗?还是我必须创建一个自定义按钮?

【问题讨论】:

【参考方案1】:

问题在于UILabel 获取触摸事件,因为它只是按设计处理触摸事件,它只是用于显示文本。

您可能想要创建 UIButton 的子类,但这不是一个好主意,因为它是一种集群类。

最好的方法是通过继承UIControlUIView 来创建自定义按钮类。使用后者,您可以通过将其类更改为您的按钮子类之一来将其添加到您的故事板中。在子类中使用initWithCoder: 方法进行自定义。

如果您决定选择UIControl 的方式来执行此操作。看setHighlighted:方法:

- (void)setHighlighted:(BOOL)highlighted

    [super setHighlighted: highlighted];
    // Highlight your labels here

有用的链接:UIControl Class Reference

【讨论】:

以上是关于标签在按钮上,如何在iOS7中突出显示按钮按下的文本?的主要内容,如果未能解决你的问题,请参考以下文章

按钮停止上的按下(波纹)动画

表格中的 WKInterfaceGroup 突出显示包含按下时的按钮

如何检测按下的按钮并将其显示在另一个视图上? Objective-C

使用javascript按下开始按钮时,我应该如何突出显示textarea中的文本?

LWUIT: tabs - 如何标记当前选中的选项卡

如何在nib文件中按下时禁用UIButton高亮显示?