【发布时间】:2019-11-18 20:59:27
【问题描述】:
我有两个UIViewControllers,我想.present 灰色UIView 就像你通常会呈现一个ViewController(出现自下而上,用户可以向下滑动以关闭)。
截图便于理解:
bottomBar 是ContainerView,不应通过在 VC 之间切换而改变,只有灰色的UIView,您可以在第二张图片中看到。
我知道我可以在没有动画的情况下只使用.presentViewControllerB,然后让UIView 从屏幕外出现。但是,如果我这样做,用户将无法将UIView 拖到dismiss 它。
这就是我目前呈现ViewControllerB ("wishlistViewController) 的方式。
let wishlistViewController = self.storyboard?.instantiateViewController(withIdentifier: "WishlistVC") as! WishlistViewController
wishlistViewController.modalPresentationStyle = UIModalPresentationStyle.overCurrentContext
self.navigationController?.present(wishlistViewController, animated: false)
}
主要问题是我的UIView 不是全屏的。否则我只能.presentViewControllerB。但是,在我的设计中,背景图像也将由.presenting 或.dismissing 进行动画处理,我不希望这样。
这可能有一个非常简单的解决方案,但我找不到只提供UIView。
感谢任何提示:)
【问题讨论】:
-
您应该使用自定义标签栏视图而不是 + 按钮的容器视图。然后你可以有多个视图控制器,看起来像;)
-
对不起,我没有跟着你。 “可以有多个视图控制器”是什么意思?
-
每个项目都有一个视图控制器。所以触摸它们中的任何一个都会显示相应的视图控制器而底部栏视图保持无缝。
-
抱歉,我的问题不清楚。
ViewControllerB出现在用户单击cell而不是底部栏后。我认为 BottomBar 与这个问题无关 -
你的问题到底是什么?
标签: ios swift uiview uiviewanimationtransition