ios - 此 Objective-C 代码不会更改标签文本的颜色

标签 ios objective-c

调试器用颜色显示一些值。请问我做错了什么

@synthesize textLabel;
@synthesize textField;
@synthesize sliderRed;
@synthesize sliderGreen;
@synthesize sliderBlue;


- (void)dealloc
{
    [textLabel release];
    [super dealloc];
}

- (IBAction)updateLabel
{
    NSString * textValue = [textField text];

    float red = [sliderRed value]/255.f;
    float green = [sliderGreen value]/255.f;
    float blue = [sliderBlue value]/255.f;

    UIColor *textColour = [[UIColor alloc]initWithRed:red green:green blue:blue alpha:1.0];
    [textLabel setText:textValue];
    [textLabel setTextColor:textColour];
}

最佳答案

我猜 sliderRed、sliderGreen 和 sliderBlue 是 UISlider 实例?它们的最小/最大值是多少?如果您将它保留在默认值 0.0 到 1.0,那么这段代码会给您一些非常低的值:

float red = [sliderRed value]/255.f;
float green = [sliderGreen value]/255.f;
float blue = [sliderBlue value]/255.f;

您使用的 UIColor 方法采用从 0.0 到 1.0 的浮点参数,因此只需将 slider 值传递给它而不将它们相除即可。

并且不要忘记将 [textColour release]; 放在该方法的末尾,否则每次调用该方法时都会泄漏一个新的 UIColor 实例。

关于ios - 此 Objective-C 代码不会更改标签文本的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7213488/

相关文章:

ios - SKMapView (Skobbler) 上未显示用户当前位置注释 - iOS

Objective-C:无法实例化类来创建 UINavigationController subview

iOS 单元测试如何阻止 App Delegate 做事

ios - UITableView 缩略图性能

ios - 错误 : iPhone Private Frameworks "No such file or directory"

ios - 快速将 View Controller 解除到另一个 View Controller

ios - 如何在 iOS7 中以编程方式找到连接 3G 网络或 Wifi 的 iPhone 设备

iphone - 如何通知其他对象objective c的变化

iphone - Google Drive SDK- iOS 应用程序中的音频和视频流

c++ - Objective-C++的缺点?