【问题标题】:IOS: Popover Controllers in Storyboard and ClassIOS:Storyboard 和 Class 中的 Popover 控制器
【发布时间】:2017-03-01 07:06:09
【问题描述】:

我正在尝试使用弹出框控制器在应用程序中进行一些额外的导航。由于情节提要似乎没有单独的弹出框控制器,我在情节提要中创建了一个 UIViewController。然后我创建了一个popover类,popoverVC。 popover 类没有出现在故事​​板中 VC 的身份检查器中的类下拉列表中,但是当我输入它时,它似乎需要,即在关闭和重新打开故事板时,VC 仍然与弹出框类。

但是,当我尝试按住 Ctrl 键单击从情节提要中 VC 中的元素拖动到助理编辑器中 popoverVC 类中的方法或属性时,它不需要。

将情节提要中的 ViewController 与类链接的正确方法是什么?作为一个相关问题,虽然我在故事板中将 VC 的宽度设置为窄,但应用程序忽略了该宽度并全屏加载弹出框。

【问题讨论】:

    标签: ios storyboard uipopovercontroller


    【解决方案1】:

    这不能仅通过故事板来实现,而是应用子容器概念。

    您应该创建一个UIView(容器)并将其添加到应该包含弹出框的视图控制器中,并将弹出框视图控制器的视图添加到所述容器中。

    现在你应该按特定顺序执行三件事,即:

    1) 使用弹出视图控制器在包含视图控制器上调用 addChildViewController:

    2) 在容器视图上调用addSubview: 并添加弹出视图控制器视图。

    3) 在包含视图控制器的弹出视图控制器上调用 didMoveToParentViewController:

    同样,在移除 viewcontroller 时,请执行以下操作:

    1) 使用nil 在弹出视图控制器上调用willMoveToParentViewController: 以删除父连接。

    2) 在弹出视图控制器的视图上调用removeFromSuperview

    3) 最后在弹出视图控制器上调用removeFromParentViewController

    详情请见this answer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-07
      • 2015-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多