In my case, I need to output a relatively large floor plan, and I simplified the code as follows. In the case of a relatively large size, the correct image cannot be output
Sample Code
<code>let imageSize = CGSize(width: 2225.6666666666665, height: 3533.3333333333335)
let size = CGSize(width: 430, height: 682.66666666666663)
let testView = UIView(frame: CGRect(origin: .zero, size: imageSize)).then { $0.backgroundColor = .red }
let testImage = UIGraphicsImageRenderer(size: imageSize).image { context in
testView.drawHierarchy(in: CGRect(origin: .zero, size: imageSize), afterScreenUpdates: true)
}
let test2View = UIView(frame: CGRect(origin: .zero, size: size)).then { $0.backgroundColor = .red }
let test2Image = UIGraphicsImageRenderer(size: size).image { context in
test2View.drawHierarchy(in: CGRect(origin: .zero, size: size), afterScreenUpdates: true)
}
</code>
<code>let imageSize = CGSize(width: 2225.6666666666665, height: 3533.3333333333335)
let size = CGSize(width: 430, height: 682.66666666666663)
let testView = UIView(frame: CGRect(origin: .zero, size: imageSize)).then { $0.backgroundColor = .red }
let testImage = UIGraphicsImageRenderer(size: imageSize).image { context in
testView.drawHierarchy(in: CGRect(origin: .zero, size: imageSize), afterScreenUpdates: true)
}
let test2View = UIView(frame: CGRect(origin: .zero, size: size)).then { $0.backgroundColor = .red }
let test2Image = UIGraphicsImageRenderer(size: size).image { context in
test2View.drawHierarchy(in: CGRect(origin: .zero, size: size), afterScreenUpdates: true)
}
</code>
let imageSize = CGSize(width: 2225.6666666666665, height: 3533.3333333333335)
let size = CGSize(width: 430, height: 682.66666666666663)
let testView = UIView(frame: CGRect(origin: .zero, size: imageSize)).then { $0.backgroundColor = .red }
let testImage = UIGraphicsImageRenderer(size: imageSize).image { context in
testView.drawHierarchy(in: CGRect(origin: .zero, size: imageSize), afterScreenUpdates: true)
}
let test2View = UIView(frame: CGRect(origin: .zero, size: size)).then { $0.backgroundColor = .red }
let test2Image = UIGraphicsImageRenderer(size: size).image { context in
test2View.drawHierarchy(in: CGRect(origin: .zero, size: size), afterScreenUpdates: true)
}
I expect to be able to output the correct image at a relatively large size, or any other large image output possible