NSPopover动画contentViewController更改并更改弹出窗口大小

时间:2016-03-29 04:39:45

标签: swift macos cocoa appkit nsviewcontroller

我正在制作一个NSPopover,并且已经实现了它,所以我可以使用父视图控制器和我的视图控制器作为子视图,使用滑动动画在视图控制器之间进行转换。它运作良好,除非我添加它之前,弹出窗口自动调整大小到我的视图大小,但现在,弹出窗口卡在固定大小。

创建popover的代码:

    self.loginVC!.view.frame = self.homeVC!.view.bounds
    self.containerView.addChildViewController(self.loginVC!)

    let transition: NSViewControllerTransitionOptions = .SlideLeft

    self.containerView.transitionFromViewController(self.homeVC!, toViewController: self.loginVC!, options: transition, completionHandler: { finished in
        self.homeVC!.view.removeFromSuperview()
        self.homeVC!.removeFromParentViewController()
        self.containerView.view.bounds = self.loginVC!.view.bounds
    })

转换视图控制器的代码:

<% unless params[:action] == 'home' %>
    <div class="contaner-fluid custom-padding full-page-height">

    </div>
<% end %>

无论如何,我可以让popover自动调整大小到转换后的大小吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我能够通过而不是显式设置框架来修复它,设置约束以使容器视图与子项的大小相匹配。