2011-12-21 13 views
3

我有一個xib,它有1個UIImageView和1個工具欄。 工具欄有兩個按鈕保存和重置。
在模擬器中,我可以在UIImageView中對圖像進行一些繪製。 現在我想,如果我點擊重置按鈕,然後我會得到原始圖像,如果我沒有保存在圖像上的變化。 我不想再加載整個視圖。 只有我需要用原始圖像替換我的編輯圖像? 你能指導我,我該怎麼做這個東西?如何在不加載整個視圖的情況下重置UIImageView中的圖像?

+0

什麼你的意思做「重新加載整個視圖」? – Sulthan 2011-12-21 12:10:22

回答

11
IBOutlet UIImageView *imageView; 

imageView.image=[UIImage imageNamed:@"img.png"]; 

[imageView setNeedsDisplay]; 
+4

這將工作,但不需要調用'setNeedsDisplay'。當UIImageView被分配一個新圖像時,它會自行更新。 – Dondragmer 2012-04-13 00:51:23

+1

不,它不會,而且這種方法非常慢,因爲它需要等待下一個循環。 – FaddishWorm 2014-09-15 13:41:41

+1

@FaddishWorm ID確實,實際上.. – Fengson 2015-02-14 09:58:51

0

使用

IBOutlet UIImageView *myImageView; 

胡克這個了在Interface Builder的XIB文件創建一個IBOutlet與

myImageView.image=originalImage; 
[myImageView setNeedsDisplay]; 

改變圖像您可以使用myImageView指在IB的形象圖。

+0

m我得到這個錯誤後,像你的終端應用程序'終止應用程序由於未捕獲的異常'NSInvalidArgumentException',原因:' - [NSCFString scale]:無法識別的選擇器發送到實例0x10cb04' ' – 2011-12-21 12:18:49

+0

謝謝。你的代碼工作正常。我的代碼還有一些其他問題。 – 2011-12-21 12:24:44

0

你可以設置UIImageView的圖像屬性爲原始圖像。

UIImageView *imageView = [UIImageView new]; 
[imageView setImage:origingalImage]; 
+0

我試過這個。但我沒有工作。我想更改我的筆尖文件的UIImageView中的圖像。在這裏你正在創建一個新的UIImageView。 – 2011-12-21 12:11:44

+1

myImageView.image = [UIImage imageNamed:@「origionalImageName.png」]; 就是這樣 – 2011-12-21 12:15:48

4
UIImageView *imageView; 
imageView.image=[UIImage imageNamed:@"one.png"]; 

刷新與原始圖片。具有u試過這個

[imageView reloadInputViews]; 

如果不行再試試這個代碼刷新

imageView.image=[UIImage imageNamed:@"one.png"]; 
+0

感謝它的工作。 – 2011-12-21 12:23:23

+0

哪一個工作'[imageView reloadInputViews];' 或**辭職代碼** – dayitv89 2011-12-21 12:26:42

+0

'reloadInputViews'爲我工作 – youssman 2015-04-22 01:23:50

相關問題