Swift-出现在上下文中的ViewController的深色背景

时间:2018-09-24 14:13:41

标签: ios swift xcode uiviewcontroller

以下是创建我的自定义弹出窗口的代码:

extension UIViewController {

    public func presentPopup(animated: Bool, completion: (() -> Void)? = nil) {

        let popup = MBPopUpViewController(accentColor: UIColor(hexString: "E40C15"),
                                          popUpTitle: "Hello",
                                          popUpMessage: "Test PopUp",
                                          popUpFirstButtonLabel: "1",
                                          popUpSecondButtonLabel: "2")

        popup.modalPresentationStyle = .overCurrentContext
        present(popup, animated: animated, completion: completion)

    }

}

有没有办法,当第二个视图控制器出现时,如何通过淡入淡出的动画使第一个视图控制器变暗?

Here,您可以看到我现在拥有的东西。

您可以在“照片”应用中查看示例here。当AlertViewController出现时,背景变暗。有什么想法要实现吗?谢谢:)

1 个答案:

答案 0 :(得分:1)

这听起来像您想要Modal Popover

可以使放置在另一个视图上方的视图的背景色为透明色。您将需要在viewDidLoad中设置该视图的颜色和所有内容。

确保将标记标记为Cover Vertical,以便没有划像动画,并且平滑过渡。还要根据您的外观启用Over Current ContextOver Full Screen

根据您要放置在第二个View Controller中的元素的不同,最终结果如下所示。 (注意:会加快gif中显示的动画。深灰色区域将包含您在视图中放置的内容。)

这里有一些很棒的资源可以帮助您完成这些工作。我可以推荐Mark Moeykens在YouTube上,他制作了有关此类视频的精彩视频。

enter image description here