ios - UIButton 按下时改变状态

标签 ios objective-c uibutton

我有一个 UIButton 配置有两种状态,默认和选中,用于不同的文本和背景,设置是在 Interface Builder 上完成的。奇怪的是当按钮处于选中状态并按下按钮时,它会自动更改为默认状态。释放按钮后,它变回选中状态。有没有办法禁用回滚到默认行为?

忘记说了,类型是custom

更新

在 viewDidLoad 中尝试了以下代码

[self.button setTitle:@"default" forState:UIControlStateNormal];
[self.button setTitle:@"selected" forState:UIControlStateSelected];
[self.button setTitle:@"highlighted" forState:UIControlStateHighlighted];
[self.button setSelected:YES];

按钮在按下时显示默认。

最佳答案

选中状态和高亮状态并不互斥。当您按下选定的 UIButton 时,它会进入选定和突出显示状态。

我不认为有一种方法可以在 IB 中设置它,但您可以在代码中这样做:

[button setImage:[UIImage imageNamed:@"some_image"] forState:UIControlStateSelected | UIControlStateHighlighted];

关于ios - UIButton 按下时改变状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23207067/

相关文章:

在设备上测试时 iOS 崩溃 - 调试日志

objective-c - 苹果操作系统 X : Best way to do runtime check for retina display?

ios - 在代码中测试 UIButtonTypeSystem 是否为 iOS6 定义

objective-c - 按下单元格中的按钮时显示新 View

iphone - 如何设置 iPhone 中特定按钮的背景颜色?

ios - iOS 上的 "You are creating QApplication before calling UIApplicationMain"错误

ios - 创建 iPad 的 viewController 的最佳方法是什么?

iphone - 如何将自定义菜单项添加到 UITextView 菜单,这是指向所选单词的维基百科页面的链接?

iphone - 使用单例在线程之间传递数据时会丢失

ios - 为什么 glReadPixels() 在 iOS 6.0 中的这段代码中失败?