我正在使用簡單地將背景顏色設置爲藍色的UIView對象。這可以在第一次運行代碼時正常工作,但再次運行changeBackgroundColor mehod(從按鈕操作)不會將顏色更改爲紅色,即使調試代碼清楚地顯示該方法按預期運行。更新UIView上的顏色的新手問題
請有人可以解釋爲什麼視圖顏色不更新?
頁眉:
@interface colorClass : NSObject {
UIView *myView;
}
@implementation
...
-(UIView *)changeBackgroundColor {
myView = [[UIView alloc] initWithFrame:CGRectMake(100, 0, 500, 245)];
static int counter = 1;
if (counter++ %2){
[mediaView setBackgroundColor:[UIColor blueColor]];
}else {
[mediaView setBackgroundColor:[UIColor redColor]];
}
return myView;
}
你是做什麼用的UIView此方法返回?每次調用這個方法時都會創建新的視圖實例,你確定這就是你真正想做的事情嗎? – Vladimir 2010-08-27 11:53:10
不,我試圖抓住這一個視圖實例,所以我可以改變顏色。我還沒有找到任何方法來做到這一點。我應該在其他地方設置myView alloc嗎? – user432865 2010-08-27 12:08:23
...並且您將背景顏色設置爲mediaView - 它不在任何地方聲明。是的,我認爲你應該初始化你的視圖在一些初始化方法(例如loadView或viewDidLoad),除非你有理由在每次點擊創建新的視圖實例 – Vladimir 2010-08-27 12:12:26