相关疑难解决方法(0)

如何在Swift中使用全屏截图?

我发现了这段代码:

func screenShotMethod() {
    //Create the UIImage
    UIGraphicsBeginImageContext(view.frame.size)
    view.layer.renderInContext(UIGraphicsGetCurrentContext())
    let image = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
    //Save it to the camera roll
    UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)
}
Run Code Online (Sandbox Code Playgroud)

我需要做些什么才能将所有其他元素(如导航栏)添加到屏幕截图中?

screenshot uiimage ios swift

64
推荐指数
6
解决办法
6万
查看次数

以编程方式截图| Swift 3,macOS

是否可以使用Swift 3以编程方式在mac上截取桌面?我找不到关于该主题的单个帖子或论坛帖子,甚至在Apple的官方文档中都没有.

到目前为止,我已经找到了这个,但似乎没有帮助: 两个

macos screenshot swift

12
推荐指数
2
解决办法
4119
查看次数

如何在Swift中保存包含子视图的视图的屏幕截图?

我想用其子视图捕获视图.我正在使用此代码捕获屏幕:

let view = self.faceTrackerContainerView

UIGraphicsBeginImageContext(CGSizeMake(view.bounds.size.width, view.bounds.size.height))
UIGraphicsGetCurrentContext()!
self.view?.drawViewHierarchyInRect(view.frame, afterScreenUpdates: true)
let screenshot = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()

UIImageWriteToSavedPhotosAlbum(screenshot, nil, nil, nil)
Run Code Online (Sandbox Code Playgroud)

这些代码捕获整个屏幕,包括位于视图前方的按钮.我尝试了这些代码,但它只捕获主视图,不包括其子视图:

let view = self.faceTrackerContainerView
let scale = UIScreen.mainScreen().scale
UIGraphicsBeginImageContextWithOptions(view.bounds.size, false, scale);

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

UIImageWriteToSavedPhotosAlbum(screenshot, nil, nil, nil)
Run Code Online (Sandbox Code Playgroud)

我也试过snapshotViewAfterScreenUpdates(true)这里,但我不知道如何实现它.我在视图下方有一个collectionView,在视图顶部有一个按钮(两者都不在视图中).第一个代码使用button,collectionView和子视图捕获所有内容.第二个代码捕获没有子视图的视图.我错过了什么?

screen-capture calayer uiview ios swift

8
推荐指数
3
解决办法
9720
查看次数

iOS 13 UITextView 将 UITextView 转换为图像无法正常工作。在 iOS 12 以下运行良好

如何在 iOS 13 中解决此问题?我正在截取 UITextView 内容大小的屏幕截图。直到 iOS 12 一切正常。但是 iOS 13 以后的问题是它没有截取完整的屏幕截图。下面是iOS 12以下和iOS 13之后的输出图片。 低于 iOS 12

iOS 13

下面是我用来截取 UITextView 屏幕截图的代码:

let textView = UITextView()
UIGraphicsBeginImageContextWithOptions(textView.contentSize, textView.isOpaque, 0.0)
let savedContentOffset: CGPoint = textView.contentOffset
let savedFrame: CGRect = textView.frame
textView.frame = CGRect(x: 0, y: 0, width: textView.contentSize.width, height: textView.contentSize.height)
textView.layer.render(in: UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext()
textView.contentOffset = savedContentOffset
textView.frame = savedFrame
UIGraphicsEndImageContext()
Run Code Online (Sandbox Code Playgroud)

我得到了这个问题的解决方案 下面是 更新的工作代码

选项 1:- 下面使用 UILabel 的代码

let SCREEN_WIDTH = UIScreen.main.bounds.size.width
let SCREEN_HEIGHT = UIScreen.main.bounds.size.height
func buttonAction() {
    let …
Run Code Online (Sandbox Code Playgroud)

iphone ios swift ios13

7
推荐指数
1
解决办法
1035
查看次数

如何在UIImageView上添加交互式UILabel?

我需要添加几个标签UIImageView.标签的文本可以通过点击它们来更改.实现这一目标的最佳方法是什么?我正在使用Swift编程语言.在stackoverflow上查找一些解决方案,我发现了一些使用String.drawInRect方法在矩形中绘制一些文本的演练,然后将其放置在UIImageView.但是像这样我认为我不能改变文本,甚至不能识别它们上的触摸事件.请帮忙.

UPDATE

我的代码到目前为止:

override func viewDidLoad() {
    super.viewDidLoad()
    let img = UIImage(named: "Image")
    let imgView = UIImageView(image: img)

    self.view.addSubview(imgView)

    var myLabel = UILabel()
    myLabel.text = "Hello There"
    myLabel.textColor = UIColor.redColor()
    myLabel.font = UIFont(name: "Marker Felt", size: 20)
    myLabel.accessibilityIdentifier = "this is good!"
    myLabel.frame = CGRect(x: img!.size.width/2 /* - myLable.width / 2 ? */, y: 0, width: img!.size.width, height: 40)
    imgView.addSubview(myLabel)
    imgView.userInteractionEnabled = true
    myLabel.userInteractionEnabled = true
    let tapGesture = UITapGestureRecognizer(target: self, action: "handlePanGesture:")
    myLabel.addGestureRecognizer(tapGesture) …
Run Code Online (Sandbox Code Playgroud)

interactive uiimageview uilabel ios swift

6
推荐指数
1
解决办法
2553
查看次数

获取iOS/swift中当前屏幕的屏幕截图以供共享

我想在我的手机上启用一项允许用户点击共享的功能,然后他们就可以向他们的朋友发送一条消息,默认情况下包含应用的图片(在用户点击共享之前).我无法弄清楚如何做到这一点 - 每当我搜索如何做到这一切时,我得到的是关于如何在手机的照片库或他们的相机中共享图像的教程/答案.关于如何做到这一点的任何想法!

screenshot ios swift

2
推荐指数
2
解决办法
5199
查看次数