2009-12-05 85 views
0

我想要學習一些基本的和非常重要的開發體面的iPhone應用程序。但是我不知道自己沒有得到什麼。這裏的問題:在兩個視圖之間共享圖像

我有一個窗口項目,2次 - 視圖1,視圖2。在每個視圖(通過IB)我放下了一個imageView控件。當我在view1中調用函數時,我想設置View2的圖像控件(顯示圖像)。

我該怎麼做?

必須有一個簡單的方法,但我沒有管理(和做搜索了很多)找到一個簡單的簡單的方法來做到這一點,或至少理解這個概念。

在此先感謝。 -ME

回答

1

類中訪問的UIView的圖像屬性你不一定需要共享圖像。它大嗎?你在下載它嗎?換句話說,它真的需要共享嗎?

如果是這樣,你可以實例化的UIImage在你的應用程序代理,並在創建時將它傳遞給每個視圖控制器。爲圖像的每個視圖控制器設置一個屬性。事情是這樣的:

ViewController1 *controller1 = [[ViewController1 alloc init]; 
[controller1 setImage:image]; 
[[self navigationController] pushViewController:controller1]; 
[controller1 release]; 

ViewController2 *controller2 = [[ViewController2 alloc init]; 
[controller2 setImage:image]; 
[[self navigationController] pushViewController:controller2]; 
[controller2 release]; 

然後在每個視圖控制器的viewDidLoad,您可以設置圖像您的ImageView

- (void)viewDidLoad; 
{ 
    [super viewDidLoad]; 
    [[self imageView] setImage:[self image]]; 
} 

我不知道你怎麼是一個加載你的視圖控制器,但上面的代碼假設您正在使用導航控制器堆棧。如果你需要澄清另一種方法,請告訴我。

+0

圖像保存在本地,基本上保存在一個視圖中,我展示了一個視圖,然後在第二個視圖中展開以獲得更好的視覺效果。謝謝你的回答我的問題 - 關鍵在於委託(我不想爲此創建一個單例) – amok 2009-12-07 01:46:08

0

你應該在IB的UIImageViews的連接插座在你的ViewController類。在你的類的.h接口文件,添加適當的:

IBOutlet UIImageView *view1; 

添加屬性:

@property (nonatomic,retain) IBOutlet UIImageView *view1; 

,並在你的類實現文件(.M),合成屬性:

@synthesize view1; 

最後,您需要將IB中的UIImageView對象連接到該新插座。然後,你可以用view1.image

+0

我的問題不是我如何從一個viewcontroller(VC)在UIViewImage訪問。這是我如何從一個VC訪問另一個對象,如位於其他VC中的ImageView。你所描述的是如何連接我已經知道的控制。 – amok 2009-12-05 15:48:41