1
私は現在のスクリーンのキャプチャを取得しようとしています。次のビューコントローラをオーバーレイすると、その画像ビューの後ろにそれを半透明にすることができます。これは機能していましたが、今では途中で変な灰色ができます。ここで私が使用していたコードです:ここスクリーンキャプチャ - 奇妙な灰色の領域
func requestOverride(overrideReason : String, notificationName : Notification.Name) {
captureScreen { (image) in
ManagerOverride.image = image
let vc = UIStoryboard(name: "ManagerOverride", bundle: nil).instantiateViewController(withIdentifier: "overrideNav") as! UINavigationController
let over = vc.viewControllers.first as! ManagerOverrideViewController
let _ = over.view
over.overrideReason.text = overrideReason
over.notifyName = notificationName
UIApplication.shared.keyWindow?.currentViewController()?.present(vc, animated: true, completion: nil)
}
}
func captureScreen(completion: @escaping (UIImage) ->()) {
let view = UIApplication.shared.keyWindow!.currentViewController()!.view!
UIGraphicsBeginImageContextWithOptions(view.bounds.size, false, UIScreen.main.scale)
view.layer.render(in: UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
completion(image!)
}
とは何であるか、私は戻って取得しています:
私は、そのコンテキスト内