生成特定大小的视图图像?

时间:2016-06-13 00:18:27

标签: ios swift

我有一个向用户显示一些信息的视图。当前,用户可以点击共享按钮以共享视图的图像,因此他们可以容易地将信息发布到Twitter,或者将其发送给朋友。但是当然,视图是使用AutoLayout布局的,并且可以根据设备以不同的大小显示。图像输出看起来不错,但我想让应用程序以标准尺寸保存此图像,无论界面分辨率或方向如何。

在指定尺寸下生成这样的图像的最佳方法是什么?有一种简单的方法,还是我必须以完全不同的方式生成图像?以下是我目前正在执行此操作的代码:

UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, 0.0)
view.drawViewHierarchyInRect(view.bounds, afterScreenUpdates: false)
let snapshot = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()

let activityViewController = UIActivityViewController(activityItems: [snapshot], applicationActivities: nil)

if let popover = activityViewController.popoverPresentationController {
    popover.barButtonItem = shareButton
}

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

1 个答案:

答案 0 :(得分:0)

将宽度和高度约束连接到代码。暂时改变它们:

width.constant = 1234
height.constant = 1234

然后把它们放回去。