我的目标是以编程方式显示View Controller
当前视图控制器
然后,如果某个事件被调用或某事,(API或Websocket)我想以编程方式调用这些视图
但我想先调用最后一个视图Controller,它应该位于第一个View控制器之上
从技术上讲,最后一个视图将具有
Transition is Cross Dissolve
Presentation is Over Current Context
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
我认为最好的方法是由xib文件为可重用视图创建.然后,您可以创建单例并在每次要显示此模态视图时调用此视图.
要确保视图不与任何内容重叠,您必须将其添加到当前控制器,而不是添加到AppDelegate窗口.
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
appDelegate.window!.addSubview(yourModalView)
Run Code Online (Sandbox Code Playgroud)
根据您的要求,您可以为导航控制器设置一个storyBoardID。
在特定事件上只需实例化导航控制器
let storyboard = UIStoryboard(name: "Main", bundle: Bundle.main)
let myNavController = storyboard.instantiateViewController(withIdentifier: "MyStoryboardId") as? UINavigationController
然后呈现或显示该导航控制器
self.present(myNavController, animated: true, completion: nil)
在viewDidLoad()第一个视图控制器的方法上执行到 popupViewController 的 segue。
现在,第二个视图将显示在第一个视图控制器上方。使用后您可以关闭此视图。
| 归档时间: |
|
| 查看次数: |
557 次 |
| 最近记录: |