【问题标题】:Getting a VC to appear inside another VC让一个 VC 出现在另一个 VC 中
【发布时间】:2016-07-27 10:03:21
【问题描述】:

我有 2 个视图控制器。

VC1 里面有 2 个视图。

我想让 MenuUIVC 出现在我属于(子)VC1 的视图之一中。

我在 VC1 中尝试了这段代码,但没有成功。

MenuUIVC * menuViewVC = [[MenuUIVC alloc] init];
menuUIView = menuViewVC.view;

我希望能够在 VC1 的子视图 (menuUIView) 中看到 MenuUIVC。我将所有 IBOutlets 都连接到了故事板上。

【问题讨论】:

标签: ios objective-c


【解决方案1】:

您可以使用容器视图在视图控制器中获取视图控制器。并且,您可以通过 prepareForSegue() 方法获取对它的引用。

描述链接:

  1. iOS Container View
  2. The Easy Way to Switch Container Views in iOS

【讨论】:

    【解决方案2】:

    如果你使用的是 UIView,那你为什么不使用

    [menuUIView addSubview:menuViewVC.view];
    

    另一个选择是使用 childviewcontrollers。 例如,请参阅这些链接:-

    1. adding view controller as child view in ios
    2. Add child view controller to current view controller

    使用容器或子视图控制器,为您提供了使用视图控制器属性的完整选项,而您在 UIView 中无法获得。 例如,您可以定向委托方法,而不能直接在 UIView 类中使用。 希望对您有所帮助。

    干杯 桑杰

    【讨论】:

      【解决方案3】:

      如果您想使用 IBOutlets 和 storyborad 进行容器视图,您可以使用它。 但如果您想使用代码来完成,请按照以下步骤操作:

      1. 初始化并创建父视图控制器。
      2. 然后将所需的子视图添加为带有负框架的子视图。
      3. 现在可以在需要时使用 UIView 动画更改框架。 & 请在子视图以外的部分屏幕上添加点击手势识别器,以将其移回初始位置。

      【讨论】:

        猜你喜欢
        • 2020-03-15
        • 2018-11-21
        • 2013-07-04
        • 1970-01-01
        • 2017-12-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多