很难向我解释: - )
我已经拥有: 一个主要的UIViewController / UIView - >作品 我按下按钮后显示的第二个UIViewController / UIView - >工作,第二个UIViewController / UIView显示在屏幕的顶部,并具有完整的屏幕大小,所以我看不到第一个UIViewController / UIView
因为我意识到我的secondView只包含一些小组件,所以我想: 第二个显示第二个UIViewController / UIView就像一个popoverview,所以第二个是最小的,第一个仍然显示在后面。
我以为我可以做到以下几点:
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("Options") as! UIViewController
vc.modalPresentationStyle = .Popover <<-- Make simply Modal ?
self.presentViewController(vc, animated: true, completion: nil)
但仍然是第二个全屏显示。 有什么帮助吗?
更新我只是通过组合在互联网上找到的东西而不知道我到底在做什么来做到: - )
func showoptions(){
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let controller = storyboard.instantiateViewControllerWithIdentifier("Options") as! UIViewController
controller.modalPresentationStyle = UIModalPresentationStyle.Popover
let popoverPresentationController = controller.popoverPresentationController
// result is an optional (but should not be nil if modalPresentationStyle is popover)
if let _popoverPresentationController = popoverPresentationController {
// set the view from which to pop up
_popoverPresentationController.sourceView = self.view;
_popoverPresentationController.sourceView.sizeToFit();
// present (id iPhone it is a modal automatic full screen)
self.presentViewController(controller, animated: true, completion: nil)
}
}
我现在唯一的问题是,模态视图的大小太小,有些组件不完全可见。
答案 0 :(得分:1)
尝试更改controller.preferredContentSize
以匹配您想要的尺寸
答案 1 :(得分:0)
要点: 1.不要使用UIViewcontroller。只使用UIView。 2.如果您加载模态视图控制器,将卸载第一个UIViewController视图。