如何在图像视图中仅保存图像?

时间:2015-11-18 03:08:04

标签: ios swift

我正在开发iOS应用程序。我是iOS开发人员的新手。我在这款应用中使用了图片视图。图像的大小会有所不同 - 它不是静态的。它在视图中居中,并始终是屏幕的宽度。高度会有所不同。我覆盖了图像上方的文字。

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

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
}

1 个答案:

答案 0 :(得分:0)

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

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

let myImage = myImageView.image

myImageView替换为UIImageView内实际UIViewController个实例的引用。

UIImageView Documentation