2012-07-14 32 views
0

我有這樣的代碼來創建我原來的UIView:的UIImageView不是取代另一種觀點認爲

itemView = [[UIView alloc] initWithFrame:CGRectMake(self.frame.size.width - CELL_HEIGHT - 10, 0, CELL_HEIGHT, CELL_HEIGHT)]; 
itemView.backgroundColor = [UIColor redColor]; 
[self addSubview:itemView]; 

然後,我有這樣的代碼後面:

UIImageView *accessory = [[UIImageView alloc] initWithFrame:cell.itemView.frame]; 
accessory.contentMode = UIViewContentModeCenter; 
accessory.image = [UIImage imageNamed:@"icon_settings_fwd.png"]; 

itemView = accessory; 

但所有我看到的是紅色的。它沒有用UIImage取代它。任何人都知道爲什麼?

+0

你確定這個icon_settings_fwd.png存在嗎? – Raj 2013-01-22 08:45:26

回答

0

itemView只是一個指向具有紅色背景色的UIView實例的指針。當你將這個視圖作爲子視圖添加到另一個視圖時,超級視圖保留新添加的子視圖,因此從現在開始維護其自己的指針副本。它不知道你重新使用原始指針。您必須先刪除第一個子視圖(具有紅色背景色的子視圖),然後將第二個視圖添加爲子視圖。