gpt4 book ai didi

ios - 如何使用 Swift 在 iOS 中制作没有导航栏的快照?

转载 作者:行者123 更新时间:2023-11-28 06:54:29 24 4
gpt4 key购买 nike

我正在使用我在这个网站上找到的这个功能,但它保存了整个屏幕的导航栏,但没有状态栏。

func screenShotMethod() {


let layer = UIApplication.sharedApplication().keyWindow!.layer
let scale = UIScreen.mainScreen().scale
UIGraphicsBeginImageContextWithOptions(layer.frame.size, false, scale);

layer.renderInContext(UIGraphicsGetCurrentContext()!)
let screenshot = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()

UIImageWriteToSavedPhotosAlbum(screenshot, nil, nil, nil)

let alertSaved = UIAlertController(title: "Saved", message: "", preferredStyle: .ActionSheet)

alertSaved.addAction(UIAlertAction(title: "Ok", style: .Default, handler: {action in

self.view.removeGestureRecognizer(self.gesture)

}))

presentViewController(alertSaved, animated: true, completion: nil)

}

我需要的只是从导航栏的末尾到底部拍一张快照。

最佳答案

如果您将尝试从 keyWindow 的 View 截屏的层更改为 View Controller 的 View ,则导航栏(假设您将 View Controller 嵌入到导航 Controller 中而不是将导航栏添加为 View 的 subview ) 并且状态栏将从屏幕截图中省略。

let layer = view.layer

如果导航栏顶部有空白区域,您可以调整框架以将其剪掉。

关于ios - 如何使用 Swift 在 iOS 中制作没有导航栏的快照?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34077806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com