2009-10-24 53 views
0

我正在一個簡單的iPhone應用程序,並在某些情況下,它有一個非常奇怪的行爲,我只是不明白奇怪的錯誤...引起的圖像的分配的UIImageView

應用程序有一個UIImageView和一些控件,如UISwitch,標籤,progresbar等。這些控件最初處於某些狀態,如開關關閉,標籤包含一些初始文本,progresbar被隱藏。這些狀態最終會在與用戶交互期間發生變化。

過了一會兒,應用程序應該用相機拍照。這張照片將被分配到我的UIIMageView。所有對象只有一個委託控制器(爲什麼不?)。

現在問題來了:拍照與攝像頭和它分配到圖像視圖後,所有控件返回到初始狀態...

當我評論了一個線路輸出,其中圖像將分配給我的UIImageView:

imageView.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; 

控件的狀態不會改變!所以它只是由圖像分配引起的,但爲什麼?!

任何想法?

回答

3

這聽起來像你設置控制的狀態中viewDidAppear:

當您顯示圖像選擇器時,您的視圖消失,併發送viewWillDisappear:viewDidDisappear:。因此,當您關閉圖像選擇器時,您的視圖將發送至viewWillAppear:viewDidAppear:

如果您正在設置該方法中控件的狀態,那麼只要調用這些方法,它們就會被重置。

也許考慮移動代碼來將控制狀態設置爲viewDidLoad

相關問題