我想制作一个全局的 UIColor 值。
我在 AppDelegate.m 中写
UIColor *fontcolor;
fontcolor = [UIColor colorWithRed:0.0 green:0.0 blue:1.0 alpha:1.0];
我在 MainViewController.m 中写
extern UIColor *fontcolor;
[cell.textLabel setTextColor: fontcolor];
但是我的应用程序在没有任何日志的情况下崩溃了。
最佳答案
首先,我想了解您为什么要尝试在您的 AppDelegate.m 中创建一个全局 UIColor
,如果您可以解释更多关于您为什么要这样做的话这样做会很棒!
但是,与此同时,我在旅途中获得的实际 UIColor
代码存在问题。
我总是按如下方式构建我的 UIColor
变量。无论如何,当谈到 RGB 风格时。
[UIColor colorWithRed:0.0f/255.0f green:0.0f/255.0f blue:255.0f/255.0f alpha:1.0f];
我之所以这样做,是因为 RGB 格式在我看到的任何其他地方都是这样工作的。这是 255 中的一个数字。
现在,至于实际创建它的全局变量,我认为没有意义。如果只是设置 UILabel
颜色,那么全局设置是没有意义的。
每当您有一个 UILabel
想要更改其颜色时,我发现只需执行以下操作就非常简单。
[cell.textLabel setTextColor:[UIColor colorWithRed:0.0f/255.0f green:0.0f/255.0f blue:255.0f/255.0f alpha:1.0f]];
textLabel
是 UITableViewCell
中的主要 UILabel
。
编辑
只需阅读一些评论。我看到您想要根据用户偏好更改颜色。只需使用 NSUserDefaults
即可实现。
最终结果会是这样的。
if(![[NSUserDefaults standardUserDefaults] boolForKey:@"blue"]) {
[cell.textLabel setTextColor:[UIColor colorWithRed:120.0f/255.0f green:0.0f/255.0f blue:180.0f/255.0f alpha:1.0f]];
} else {
[cell.textLabel setTextColor:[UIColor colorWithRed:0.0f/255.0f green:0.0f/255.0f blue:255.0f/255.0f alpha:1.0f]];
}
关于iphone - 我的 UIColor 代码有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8181575/