使用未声明的类型'UIContainerView'

时间:2015-06-25 12:06:07

标签: ios uicontainerview

我正在使用xcode 7,我有一个带有UIContainerView

的故事板控制器

当我尝试为控制器创建插座时出现此错误“使用未声明的类型UIContainerView

这不是xcode 7的错误,因为xcode 6上存在相同的错误

我需要创建一个插座,因为当我切换分段控件时我必须以编程方式更改容器的嵌入

这是一个错误,或者我不能为容器创建一个插座?似乎库中没有名为UIContainerView的东西,这很奇怪

3 个答案:

答案 0 :(得分: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];      
}

答案 1 :(得分:1)

令人困惑,因为IB将它作为UIContainerView标记,但它的类型实际上只是一个UIView。

enter image description here

enter image description here

答案 2 :(得分:0)

UIContainerView不是类,因此您收到错误。而是使用UIView。容器视图实际上是故事板中的一个概念,允许您执行类似的编程工作:

  1. 初始化第二个视图控制器
  2. 将其添加为子视图控制器
  3. 使用相同的框架在容器视图的位置添加其视图。
  4. 当您添加容器视图时,所有上述内容都会自动完成。 如果要切换到不同的视图控制器,则将创建多个容器视图。根据UISegmentedController的selectedIndex

    显示和隐藏容器视图