1

我有一个 UIColor+MyLayout.m 文件,例如:

@implementation UIColor (Layout)

- (UIColor *) textBackground
{
    UIColor *lightGreen = [UIColor colorWithRed:0.0f/255.0f green:178.0f/255.0f     blue:238.0f/255.0f alpha:1.0f];

    return lightGreen;
}

@end

我已将 .h 文件添加到我的 viewcontroller.m 中,但如何将其调用为 UIColor?

UIColor *myColor = ?

4

5 回答 5

10

如果您执行以下操作会更好:

@implementation UIColor (Layout)

+ (UIColor *) textBackground {
    UIColor *lightGreen = [UIColor colorWithRed:0.0f/255.0f green:178.0f/255.0f        blue:238.0f/255.0f alpha:1.0f];
    return lightGreen;
}

@end

然后就调用它UIColor *myColor = [UIColor textBackground];

于 2013-10-16T07:02:27.893 回答
4

显示彩色文本的巨大屏幕截图

试试这个....它正在工作!!!!

1.UIColor制作名为vv的子类。

所以,在UIColor+vv.h

#import <UIKit/UIKit.h>

@interface UIColor (vv)
+(UIColor*)mh;
@end

UIColor+vv.m

#import "UIColor+vv.h"

@implementation UIColor (vv)
+(UIColor*)mh
{
     UIColor *lightGreen = [UIColor colorWithRed:0.0f/255.0f green:178.0f/255.0f     blue:238.0f/255.0f alpha:1.0f];
    return lightGreen;
}
@end

视图控制器.m

#import "UIColor+vv.h"

- (void)viewDidLoad
{
    lbl.textColor=[UIColor mh];
}

如果您有任何问题,请告诉我。

于 2013-10-16T07:20:30.420 回答
3

你应该把这个方法变成静态的......

@implementation UIColor (Layout)

+ (UIColor *) textBackground {
    UIColor *lightGreen = [UIColor colorWithRed:0.0f/255.0f green:178.0f/255.0f        blue:238.0f/255.0f alpha:1.0f];
    return lightGreen;
}

@end

然后只需使用类名来调用它

UIColor *myColor = [UIColor textBackground];

你应该像导入 UIColor+MyLayout.h

#import UIColor+MyLayout.h

于 2013-10-16T07:10:06.223 回答
1

First you have to import your category file in your class like:

#import "UIColor+Layout.h"

Then you need to call this method as

[UIColor textBackground]

Also you need to make your category method as a class method

于 2013-10-16T07:04:22.220 回答
1

您可以textBackground通过使用+in 签名而不是-然后简单地转换为类方法:

UIColor *myColor = [UIColor textBackground];
于 2013-10-16T07:00:39.427 回答