ios - 如何只保存 ImageView 中的图像?

标签 ios swift

我正在开发 iOS 应用程序。我是 iOS 开发人员的新手。我在此应用程序中使用 ImageView 。图像的大小会有所不同 - 它不是静态的。它在 View 中居中,并且始终是屏幕的宽度。高度会有所不同。我在图像上叠加了文字。

我当前的代码捕获整个屏幕截图,不包括导航和工具栏。如何修改我现有的保存图像功能以仅捕获正在显示的图像而不是全屏?

func generateImage() -> UIImage
{
    // hide toolbar and navbar
    toolBar.hidden = true
    navigationController?.setNavigationBarHidden(true, animated: false)

    // Render view to an image
    UIGraphicsBeginImageContext(self.view.frame.size)
    view.drawViewHierarchyInRect(self.view.frame,
        afterScreenUpdates: true)
    let img : UIImage =
    UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()

    // show toolbar and navbar
    toolBar.hidden = false
    navigationController?.setNavigationBarHidden(false, animated: false)

    return img
}

最佳答案

您提到您正在使用 UIImageView 来显示图像。然后您展示了截取屏幕截图以访问 UIImage 对象的代码。

我可能在这里很困惑,但是 UIImageView 类有一个名为 image 的属性,它会为您提供当前正在显示的 UIImage。为什么不捕获它并在任何需要的地方使用它呢?

let myImage = myImageView.image

myImageView 替换为对 UIViewController 中的实际 UIImageView 实例的引用。

UIImageView Documentation

关于ios - 如何只保存 ImageView 中的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33771139/

相关文章:

ios - 在 Cordova 混合应用程序中使用 Helvetica Neue

objective-c - iOS 彩虹色数组

ios - UITextField 内的标签

ios - 在 Swift 中使用 C const 变量作为 UnsafePointer

Swift:无法下标类型为 'Dictionary<String, NSObject>?' 的值

objective-c - iOS UITextView 忽略 JSON 响应中的换行符

ios - 不能将 .ttf 字体包含到项目中

swift - 在 NSURLSession 中等待下载任务完成

ios - 如何使用自动布局来对齐这两个 UIButton?

ios - 如何在表格 View 中访问手指位置/移动信息?