2015-06-25 48 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

相关问题