【发布时间】:2017-12-11 22:25:44
【问题描述】:
当我在 CALayer 中运行这样的代码时
override open func draw(in ctx: CGContext) {
let rectDEVICESPACE = ctx.convertToDeviceSpace(bounds).size
print("bounds \(bounds)")
print("rectDEVICESPACE \(rectDEVICESPACE)")
在尝试了很多很多很多分钟后,我们发现无法找到任何变换或比例。
convertToDeviceSpace 总是返回相同的东西。
尝试过大量设备、模拟器等。
具体的实际情况是什么convertToDeviceSpace会做身份以外的任何事情?
这太可怕了,因为 Apple 文档和所有现有代码示例都使用了这种方法,例如,当你四处移动时计算出原始像素大小。一个错误将是一个巨大的缺陷。
具体的实际情况是什么,convertToDeviceSpace除了乘以1.0之外会做任何事情?
我做错了什么,特别是在测试中 - 除了身份之外我从未看到任何结果?
【问题讨论】: