2012-01-05 35 views
1

我有一個視圖,有幾個按鈕和一個ImageView。我想在每次按下按鈕時更改ImageView中的圖像,並且每個按鈕都有一個特定的圖像。我也有一個默認的圖像,我創建視圖時分配。更新響應按鈕事件的圖像

但是,當按下按鈕時,爲了讓用戶看到圖像的變化,我發送reloadInputViews消息到主視圖。這會導致默認圖像保留在ImageView中,因爲每次加載視圖時它都會被設置。我在viewDidLoad中分配了默認圖像,我應該在其他地方分配它嗎?或者還有另一種方法來完成這個任務嗎?

回答

2

在你的動作方法 - (IBAction爲)爲每個按鈕,更改您的ImageView的圖像屬性:

self.myImageView.image = [UIImage imageNamed"yourImageName.png"]; 

無需重新加載整個視圖...

+0

爲我工作,謝謝! – 2012-01-06 00:04:24

0

它不工作,因爲你的UIImageView可能不是第一responder

reloadInputViews
更新的自定義輸入和配件的意見當對象是第一個響應。
- (無效)reloadInputViews
討論
可以使用此方法來刷新與當前對象相關聯的自定義輸入視圖或輸入附屬視圖當它是第一個響應。視圖立即被替換 - 也就是說,沒有將它們動畫到位。 如果當前對象不是第一響應者,則此方法不起作用

如果您沒有看到更改,請改爲使用UIView方法。

setNeedsDisplay
標記接收器的整個邊界矩形爲需要重畫。
- (無效)setNeedsDisplay

+0

我試過這個,它沒有工作。我應該首先設置一個第一響應者的身份嗎? – 2012-01-06 00:04:54

+0

@AndrewBarinow你怎麼設置你的新形象? – 2012-01-06 00:07:36

+0

我有一個'NSString'對象作爲視圖控制器的一個屬性和一個表示當前圖像的'NSString'。我使用該字符串和數組中的特定索引在圖像視圖內設置圖像。 – 2012-01-06 00:14:38