【问题标题】:Can I set a UIView to a Container View我可以将 UIView 设置为容器视图吗
【发布时间】:2013-02-04 20:14:03
【问题描述】:

我正在尝试创建具有有效 2 个视图的 iPad 视图。左侧视图将是菜单/登录区域,右侧视图将显示内容,具体取决于左侧选择的菜单项。

我添加了 2 个容器视图,并且创建左侧菜单没有问题。但是,我无法告诉右侧在视图控制器之间切换。如何将 UIViewController 分配给容器视图?选择菜单项时,我需要能够使用不同的视图控制器切换右侧。

这甚至可能吗?我不想使用拆分视图控制器,因为右侧是 UITable,我不想要 UITable。

如果我没有走在正确的轨道上,有人能指出我正确的方向吗?

非常感谢。

【问题讨论】:

  • 如果对您有帮助,请将答案标记为已接受。

标签: uiviewcontroller uisplitviewcontroller ipad


【解决方案1】:

这是一个示例代码,它为两个单独的按钮更新容器视图内容。

而且内容是两个不同的UIViewControllers

注意:在向ContinerView添加一个视图之前,不要忘记清除容器视图以管理内存。

.h 文件

MyViewController1 * myViewController1;
MyViewController2 * myViewController2;

@property (nonatomic, strong) IBOutlet UIView *containerView;

.m 文件

// Button-1
- (IBAction)button1_TouchUpInside:(UIButton *)sender {

  for (UIView *view in [containerView subviews]) {

    [view removeFromSuperview];
  }

  [button1 setSelected:YES];

  myViewController1 = nil;

  myViewController1 = [[MyViewController1 alloc]
                           initWithNibName:@"MyViewController1"
                           bundle:[NSBundle mainBundle]];

  [self.containerView addSubView:myViewController1.view];
}

- (IBAction)button2_TouchUpInside:(UIButton *)sender {

  for (UIView *view in [containerView subviews]) {

    [view removeFromSuperview];
  }

  [button2 setSelected:YES];

  myViewController2 = nil;

  myViewController2 = [[MyViewController1 alloc]
                           initWithNibName:@"MyViewController1"
                           bundle:[NSBundle mainBundle]];

  [self.containerView addSubView:myViewController2.view];
}

希望这将有助于解决您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-20
    • 2010-09-22
    • 1970-01-01
    相关资源
    最近更新 更多