将大UIView放入内容视图中

时间:2014-10-28 15:51:52

标签: ios xcode uiview swift

我已在我的故事板中将UIView插入到我的视图中,我需要使用方法以1000px x 1000px拍摄此图像

UIGraphicsBeginImageContext(createBoard.layer.frame.size)
createBoard.layer.renderInContext(UIGraphicsGetCurrentContext())

let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()

//Save it to the camera roll
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)

然而,我认为swift正在重新调整视图大小,以便在我的显示中显示,因为当我以1000像素拍摄图像时,它会像素化一样。我的问题是,我可以制作1000px x 1000px的UIView并将其缩小以向用户显示但是当拍摄它的图像时,它将在原始的1000px处这样做吗?

1 个答案:

答案 0 :(得分:1)

问题可能是您没有考虑不同的比例因子(视网膜/非视网膜)。

您可以尝试使用:

UIGraphicsBeginImageContextWithOptions(_ size: CGSize, _ opaque: Bool, _ scale: CGFloat)

并将0传递给比例尺(它会根据设备的屏幕自然比例因子自动设置比例)

最后,如果您定位iOS7 +,您还可以使用较新的API来查看快照:

-drawViewHierarchyInRect:afterScreenUpdates:

as described here