在iOS应用程序中查看主屏幕(Swift)

问题描述 投票:0回答:1

如何使UIView半透明的背景,以便用户可以看到他们(模糊)的主屏幕?

如果这是不可能的,也许我可以截取主屏幕并添加半透明效果。在这种情况下,如何截取用户主屏幕的屏幕截图?

Apple有严格的隐私观点(我支持),所以我知道上述任何一项都不允许。

ios swift uiview homescreen translucency
1个回答
1
投票

1. For having background of previous UIViewController, present next controller with presentationStyle as overFullScreen.

let vc = ViewController()
vc.modalPresentationStyle = .overFullScreen
self.present(vc, animated: true, completion: nil)

如果需要半透明效果使用,

let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.dark)
blurEffectView = UIVisualEffectView(effect: blurEffect)
blurEffectView.frame = view.bounds
blurEffectView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
view.addSubview(blurEffectView)

2. To take screenshot.

func takeScreenshot(view: UIView) -> UIImageView {
     UIGraphicsBeginImageContext(view.frame.size)
     view.layer.render(in: UIGraphicsGetCurrentContext()!)
     let image = UIGraphicsGetImageFromCurrentImageContext()
     UIGraphicsEndImageContext()
     UIImageWriteToSavedPhotosAlbum(image!, nil, nil, nil)
     return UIImageView(image: image)   
}

let view = HomeScreen().view
let image = taketakeScreenshot(view)
© www.soinside.com 2019 - 2024. All rights reserved.