为UITextField分配背景颜色

时间:2011-07-11 17:09:08

标签: iphone cocoa-touch ios4 uicolor

我有一个带有颜色声明的主控制器标头

MainViewController.h

@interface MainViewController : UIViewController <FlipsideViewControllerDelegate> {
UIColor *myColor;
}
@property (nonatomic, retain) UIColor *myColor;
@end

以及初始化

的实现

MainViewController.m

@implementation MainViewController
@synthesize myColor;

- (void)viewDidLoad
{
    [super viewDidLoad];
    myColor = [UIColor colorWithRed:1.0 green:0.98 blue:0.8 alpha:1]; //initialization
}

现在我想在MainViewController中的方法中使用这种颜色,就像这样

- (void) myMethod {
myTextField.backgroundColor = myColor;
}
但是我的所有尝试都是徒劳的。什么是正确的语法?

2 个答案:

答案 0 :(得分:0)

您必须向初始化的颜色对象发送保留:

myColor = [[UIColor colorWithRed:1.0 green:0.98 blue:0.8 alpha:1] retain]; 

或设置属性如下:

self.myColor = [UIColor colorWithRed:1.0
                                green:0.98
                                 blue:0.8 alpha:1]; 

根据您声明的财产,应该保留它。您设置backgroundColor的方式还可以。

答案 1 :(得分:0)

如果你没有合成myTextfield那么

    [myTextField setBackgroundColor:myColor];

如果合成myTextfield那么

         self.myTextField.backgroundColor = myColor;