2011-07-11 31 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;