【发布时间】:2018-05-22 15:29:20
【问题描述】:
如何创建一个在标签栏上的按钮被按下时出现的弹出窗口?我想要类似的东西:https://www.youtube.com/watch?v=zDWSaItF2ko.
我尝试了很多解决方案,但都没有奏效。
例如,我用我的主视图控制器尝试过这个:
这仍然不起作用。我将如何去创造这个。我知道我需要在当前上下文中以模态方式呈现视图控制器,但我将如何从标签栏控制器中做到这一点。
func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
if viewController is PopupViewController {
if let popupView = tabBarController.storyboard?.instantiateInitialViewController() {
popupView.modalPresentationStyle = .fullScreen
tabBarController.present(popupView, animated: true, completion: nil)
return false
}
}
return true
}
这里有一些图片可能会有所帮助:
主要故事板:
弹出故事板:
查看控制器代码:
【问题讨论】:
-
“我知道我需要在当前上下文中以模态方式呈现视图控制器” 实际上,不。在您提到的 YouTube 视频中,这不是当前的上下文演示:它是“全屏”演示。它可能使用自定义展示控制器来设置展示视图的大小/位置(带有 Test 和 Done 的蓝色方块)。
标签: ios swift uitabbarcontroller uimodalpresentationstyle