2011-07-11 25 views
0

我有一个彩色声明分配一个背景颜色到的UITextField

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 
} 

现在我想在MainViewCo的方法中使用这种颜色像这样的婴儿车

- (void) myMethod { 
myTextField.backgroundColor = myColor; 
} 

但是,但我所有的尝试都是徒劳的。什么是正确的语法?

+0

除非您使用的颜色很多,没有必要保存它,只是用它在'myMethod的'。你如何创建'myTextField'?你在使用Interface Builder吗?你有没有把它链接到你的IBOutlet? – EmilioPelaez

+0

是的,我使用这种颜色很多(我有25 UITextField)。 – boscarol

回答

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的方式是可以的。

+0

是的,“保留”方法适用于我。非常感谢你。 – boscarol

+0

不错,谢谢。 – 2011-07-11 17:49:39

0

如果u不能合成将myTextField然后

[myTextField setBackgroundColor:myColor]; 

如果合成将myTextField然后

  self.myTextField.backgroundColor = myColor;