iphone - 无法在委托(delegate)方法中更改 UIButton 文本颜色

标签 iphone objective-c ios xcode

所以我有一个调用 API 方法的类,一旦请求完成,它会在我的 Controller View 上调用一个委托(delegate)方法,我在其中执行以下操作:

[self.myButton setEnabled:NO];
self.myButton.titleLabel.textColor = [UIColor grayColor];
NSLog(@"%@", self.myButton.titleLabel.textColor);

将文本颜色从蓝色更改为灰色,让用户知道他/她不能第二次单击该按钮。

但是,颜色没有变化。这是调试日志中的内容:
UIDeviceWhiteColorSpace 0.5 1

为什么?当我在以下情况下做同样的事情时:
- (void)viewWillAppear:(BOOL)animated

它起作用并将按钮上的文本颜色更改为灰色。

最佳答案

您可以在 viewDidLoad 中执行此操作

[self.myButton setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
[self.myButton setTitleColor:[UIColor grayColor] forState:UIControlStateDisabled];

当您执行 setEnabled:NO 时,它将自动切换到禁用状态,因此文本颜色将设置为灰色。

关于iphone - 无法在委托(delegate)方法中更改 UIButton 文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10054699/

相关文章:

iphone - 在 Storyboard 中编辑自定义 UIView 子类

iphone - iPhone应用程序生命周期中的最后一个功能是什么

iphone - 像foursquare或gowalla这样的应用程序是如何实现他们的签到功能的?

iphone - DynamoDB - 新放置的项目未反射(reflect)在扫描中

ios - 如何存储全局数组引用,但稍后在某些实现文件方法中初始化值?

ios - 如何更改 UINavigationBar 项目图像?

在 Apple 电脑上进行 .Net 编程

IOS后台定位服务,因时而异

ios - 从另一个方法中取消在循环中创建的所有 NSTimers

objective-c - CGImageRelease 导致崩溃