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

标签 ios objective-c ios7 uibutton uilabel

我在 Storyboard 中有一个按钮和放置在按钮上的多个标签。我为按钮指定了默认状态和高亮状态。同样对于标签,我在 Storyboard中指定了高亮颜色。

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

最佳答案

问题是 UILabel 没有获取触摸事件,因为它只是没有设计来处理触摸事件,它只是为了显示文本。

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

最好的方法是通过子类化 UIControlUIView 创建自定义按钮类。对于后者,您可以通过将它们的类更改为您的按钮子类之一来将其添加到 Storyboard中。在子类中,在 initWithCoder: 方法中进行自定义。

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

- (void)setHighlighted:(BOOL)highlighted
{
    [super setHighlighted: highlighted];
    // Highlight your labels here
}

有用的链接:UIControl Class Reference

关于ios - 按钮上的标签,如何在 iOS7 中突出显示按下按钮时的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22793509/

相关文章:

objective-c - 在 iOS8 中使用 UISplitViewController 隐藏主视图 Controller

iphone - 针对 iphone 4s 和 5/5c/5s 屏幕尺寸进行开发的最佳实践

ios - 无法以编程方式将 UIImageView 添加为 UIView 的 subview

ios - UIButton 触摸事件重叠

ios - 在全局队列中停止 NSRunLoop

objective-c - 加载包含在框架中的 Nib

objective-c - iphone : CGRectInterest, HitTest

iphone - UITapGestureRecognizer 莫名其妙地停止识别点击手势

ios - 用于列出 iOS7 上已安装应用程序包的 SSH 命令

ios - 从从 Parse.com 中提取的数组中获取索引 - fatal error : Cannot index empty buffer