2012-08-09 49 views
1

我是IOS,Xcode和MVC的新手。我處在一個陡峭的學習曲線中,並且失敗了,我認爲這是一項最基本的任務。動態添加一個UIView到另一個

我有一個帶有兩個選項卡的選項卡式應用程序。這兩個選項卡視圖都與Web服務通信,我想將圖像添加到每個選項卡視圖,更改圖像以指示連接狀態。

因此,我創建了第三個帶有控制器類(IconViewController)的.xib文件。我希望在每個選項卡視圖中添加和刪除此圖標視圖的實例。

這裏是我的圖標視圖的僞代碼:

@interface IconViewController : UIViewController 
{ 
    UIImageView *_icon; 
} 

@property (nonatomic) IBOutlet UIImageView *icon; 

- (void)setForBusy; 
- (void)setForOk; 
- (void)setForFail; 

與實現

@implementation IconViewController 

@synthesize icon = _icon; 

-(void)setForBusy 
{ 
    // Set Busy Icon Image 
} 

-(void)setForOk 
{ 
    // Set Ok Icon Image 
} 

-(void)setForFail 
{ 
    // Set Fail Icon Image 
} 

IBOutlet中被連接在廈門國際銀行隨行文件中的UIImageView的圖標。

這裏是根標籤控制器中的一個:

#import "IconViewController.h" 

@interface TaboneViewController : UIViewController 
{ 
    IconViewController *_iconViewController; 
} 
@property (nonatomic) IBOutlet IconViewController *iconViewController; 

和執行:

@synthesize iconViewController = _iconViewController; 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    self.iconViewController = [[IconViewController alloc] 
          initWithNibName:@"iconViewController" 
          bundle:nil]; 
    [self.view addSubview:self.iconViewController.view]; 
} 

在TabView的XIB界面生成器我添加了一個對象,並使它成爲類類型IconViewController。我將圖標視圖控制器對象 - >參考插座連接到文件所有者 - > iconViewController插座

運行項目中,我得到的錯誤:
加載「iconViewController」筆尖,但沒有設置視圖插座。

我已經嘗試了其他連接,但沒有運氣。在我看來,我的第一個連接應該工作,但事實並非如此。

任何想法我誤解?原理是否正確(將第三個視圖的實例加載到兩個根視圖中)?如果是這樣,需要連接什麼插座?

非常感謝,波莉

+0

你確定你正確地連接了.xib嗎?該錯誤聽起來像是內部錯誤,與連接無關。 – achi 2012-08-09 19:29:21

+0

連接肯定是在問題中解釋的。 Icon View Controller具有一個連接到File Owner-> iconViewController的引用插座。這是你的意思嗎? – Polly 2012-08-09 19:36:14

+0

爲什麼你用IconViewController使用UIViewControler? 只需製作您自己的子視圖就簡單多了。 – 2012-08-09 20:01:13

回答

1

我看到你的問題。你想爲這兩個標籤都有共同的圖像階段。我認爲最好是實現UIView(或UIImageView)的子類並實現像set(void)setForBusy等所有方法。你應該從父ViewController接收圖像的階段,就像UINavigationView控制器(如果有的話)。否則,你應該把舞臺保存在其他地方。我個人認爲,僅僅爲了您的目的創建新的控制器太昂貴了。

希望它有幫助。