【问题标题】:Fit Large UIView into content view将大型 UIView 放入内容视图
【发布时间】:2014-10-28 15:51:51
【问题描述】:

我已将 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 这样做吗?

【问题讨论】:

  • 问题可能是您没有考虑不同的比例因子(视网膜/非视网膜)。您可以尝试使用UIGraphicsBeginImageContextWithOptions(_ size: CGSize, _ opaque: Bool, _ scale: CGFloat) 并将0 传递给比例(它会根据设备的屏幕自然比例因子自动设置比例)
  • @Alladinian 成功了!!!非常感谢!
  • 不客气!很高兴能帮到你。添加为答案。

标签: ios xcode uiview swift


【解决方案1】:

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

您可以尝试使用:

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

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

最后,如果您的目标是 iOS7+,您还可以使用更新的 api 来查看快照:

-drawViewHierarchyInRect:afterScreenUpdates:

as described here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-18
    • 1970-01-01
    • 2014-09-11
    • 2023-03-19
    相关资源
    最近更新 更多