NSPopoverを作成しています。そのため、ビューコントローラを親として持つスライドコントローラをビューコントローラと子の間で移動できます。これはうまく動作しますが、これを追加する前は、ポップオーバーが自動的にビューのサイズにリサイズされますが、現在は固定サイズでスタックオーバーされています。NSPopover animate contentViewControllerポップオーバーサイズを変更して変更する
ポップオーバーを作成するためのコード:
self.homeVC = PopoverViewController(nibName: "PopoverViewController", bundle: nil)
self.loginVC = SignInViewController(nibName: "SignInViewController", bundle: nil)
self.containerView.view.wantsLayer = true
self.containerView.view.frame = self.homeVC!.view.bounds
self.containerView.addChildViewController(self.homeVC!)
self.containerView.view.addSubview(self.homeVC!.view)
popover.contentViewController = self.containerView
ビューコントローラを移行するためのコード:
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
})
私はポップオーバーが自動的にそれを想定しているサイズにリサイズすることができますことをとにかくあり移行後になる?
ありがとうございます。
ポップオーバービューのフレームをコンテナビューのファームに設定しただけの場合はどうなりますか? – rocky
@rocky悲しいことに、それは問題ではありません。ポップオーバーはコンテナビューのサイズと一致しますが、コンテナビューの子のサイズには注意しません(制約付きで設定)。私は問題が制約であり、それを修正したことを理解しました。今度は、popoverのサイズを制約で設定しました。しかし、アイデアをありがとう。 – AppleBetas