2011-01-25 75 views
1

背景:我有三種觀點。一個介紹性視圖,一個上傳視圖和主視圖。作爲類(與他們各自的頭)我有rootViewController(SwitchViewController),IntroViewController和UploadViewController。第一個要顯示的視圖是IntroView。用戶按下一個按鈕(在SwitchViewController中聲明),將它們帶到UploadView,然後在UploadView中選擇一個圖像,然後再次按下按鈕返回到IntroView。Objective-C新手。從另一個控制器更改控制器的屬性?

問題是,當用戶使用UIImagePickerController選擇圖像時,切換視圖的按鈕不會隱藏,也不會在視圖(屏幕)頂部帶有徽標的UIImageView。 UIImageView和UIButton都在SwitchViewController的頭文件中聲明。

使用的代碼:

UploadViewController.h

#import [...] //Imports 
@class SwitchViewController; 
@interface UploadViewController : 
UIViewController <UIImagePickerControllerDelegate, 
UINavigationControllerDelegate,UIActionSheetDelegate> { 
    UITextField *imageTextField; 
    UIImageView *uploadedImage; 
    SwitchViewController *switchViewController; 
[...] 
} 

@property (nonatomic, retain) SwitchViewController *switchViewController; 
@property (nonatomic, retain) IBOutlet UITextField *imageTextField; 
@property (nonatomic, retain) IBOutlet UIImageView *uploadedImage; 
[...] 
@end 

UploadViewController.m

[...] 
- (IBAction) selectImageButtonPressed { 
self.switchViewController.submitButton.hidden = YES; 
self.switchViewController.imageLogo.hidden = YES; 

[...] //continues 

我剛剛開始最近在編程Objective-C的,所以請原諒我,如果這個問題是很必要。我已經看過並正在關注APRESS的「開始iPhone 3開發」。但即使有助於大大理解基礎知識,有時我也會迷失方向。 PS:如果回答的問題更清晰,則可以提供SwitchViewController.h和.m代碼段代碼。但我認爲這段文字很大。

+0

您已正確連接Interface Builder中的插座,對不對? – 2011-01-25 14:56:33

+0

是的,我做過。我已經檢查了幾次,以確保... – Joze 2011-01-25 15:00:28

回答

0

重構整個代碼並改變程序本身的一般結構後,我解決了我的問題。現在我有3個視圖,每個都有一個viewController來控制它。所有切換視圖都發生在委託中,因爲他可以訪問每個人。這樣我可以控制每個控制器的每個屬性,沒有太大困難。在另一個視圖中改變一個視圖中的一個對象的屬性是困難的,如果不是不可能的話,則很不方便。 (雖然我仍然是一個業餘做這種類型的陳述)

我提出這個問題的方法是短視的必須完成的應用程序。我感謝所有想要幫助的人。

0

@Joze我想我可能已經理解你的問題switchViewController是類UploadViewController的變量,所以如果你做任何與該變量它不會影響switchViewController視圖。所以當你在那時調用switchViewController視圖時,你必須做initWithNibName: bundle:,然後隱藏按鈕和imageView,並且你還需要做一些類似switchViewController.delegate = self;的事情,然後以模態方式調用視圖,或者以任何你想要的方式調用視圖。

PS。我不確定那個拼寫是否正確。我沒有xcode在我家裏。 我希望你的問題能解決這個問題。

相關問題