2015-06-25 52 views
-1

我使用的Xcode 7,我有一個故事板控制器與UIContainerView使用未聲明的類型「UIContainerView」

當我試圖創建一個出口控制器有此錯誤「的使用未聲明的類型UIContainerView

它不是的xcode 7的一個錯誤,因爲有上xcode中相同的錯誤6

我需要創建一個出口,因爲當i開關的分段控制我有以編程方式更改的嵌入容器

這是一個錯誤,或者我不能創建一個容器的插座?似乎在庫中沒有叫做UIContainerView的東西,很奇怪

+0

容器是最終的子視圖控制器,所以如果你想在運行時改變,那麼你可以添加一個視圖控制器作爲一個子視圖控制器。無需爲此創建IBOutlet。 – Leena

+0

毫米確定我會嘗試這種方式:)但不包括此解決方案我永遠不能創建一個容器的出口或它是一個錯誤?只是爲了好奇 –

+0

用「UIContainerView」來標記你的問題。然後閱讀標籤的幫助文字。 –

回答

2

沒有這樣的類叫做UIContainerView。您需要創建一個UIView的插座並將其連接到您的容器視圖。

您可以切換容器視圖類的內容:

// Property 
@property (nonatomic, weak) IBOutlet UIView *container; 
@property (nonatomic, strong) UIViewController *first; 
@property (nonatomic, strong) UIViewController *second; 

// Method that removes first vc from view and shows second vc 
// Assumes first and second properties already initialized 
- (void)showSecondVC 
{ 
    // Removes first view controller 
    [self.first.view removeFromSuperview]; 
    [self.first willMoveToParentViewController:nil]; 
    [self.first removeFromParentViewController]; 

    // Shows second view controller 
    [self addChildViewController:self.second]; 
    [self.second didMoveToParentViewController:self]; 
    self.second.view.frame = self.container.bounds; 
    [self.container addSubview:self.second.view];  
} 
0

UIContainerView不是一個類,所以你會得到錯誤。而是使用UIView。集裝箱觀點實際上是在故事板上的一個概念,是讓你做類似的編程的東西:

  1. 初始化第二視圖控制器
  2. 其添加爲子視圖控制器
  3. 在與容器視圖的位置添加視圖同一幀。

當你添加一個容器視圖時,上面的所有東西都會自動完成。 如果你想切換到不同的視圖控制器,那麼你將創建多個容器視圖。基於UISegmentedController的selectedIndex顯示和隱藏容器視圖

1

這是令人困惑,因爲IB lablels它作爲UIContainerView,但它的類型實際上只是一個UIView。

enter image description here


enter image description here

相關問題