Uikit:在 UIViewController 后面模糊和变暗(如弹出窗口)

问题描述 投票:0回答:1
我在一些不同的控制器上展示了一个复杂的控制器 AskController(源自 UIViewController、UIPopoverPresentationControllerDelegate 和 UIPopoverControllerDelegate),采用弹出窗口样式。

有没有一种简单的方法可以自动调暗和模糊所说的 AskController 后面发生的任何事情,并以任何方式消除 AskController 关闭时的这些影响?

无法使 AskController 成为 UIPopoverPresentationController 的后代。

即使设备多次改变方向,效果也必须起作用。

已经尝试设置 popoverPresentationController.backgroundColor - 什么都不做。 如果相关的话,这就是我的介绍方式:

let windowAsking = AskController() windowAsking.modalPresentationStyle = .popover if let popoverController = windowAsking.popoverPresentationController { popoverController.sourceView = self.view popoverController.sourceRect = centerOfTheScreen() popoverController.permittedArrowDirections = [] popoverController.delegate = windowAsking } self.present(windowAsking, animated: true)
    
ios swift uiviewcontroller uikit popover
1个回答
0
投票
这是我的处理方法:

使视图控制器成为全屏模式。使用全屏模糊视觉效果视图作为背景。然后构建一个看起来像模态/弹出窗口的视图层次结构,并使其成为模糊视图的子视图。将点击手势识别器添加到您的模糊视图中,以消除模式。

© www.soinside.com 2019 - 2024. All rights reserved.