我有一个图形被绘制在一个UIScrollView.它是一个UIView使用自定义子类CATiledLayer作为其层的大型.
当我放大和缩小时UIScrollView,我希望图形动态调整大小,就像我从图表返回时一样viewForZoomingInScrollView.但是,Graph在新的缩放级别重绘自己,我想将变换比例重置为1x1,以便下次用户缩放时,变换从当前视图开始.如果我将转换重置为Identity in scrollViewDidEndZooming,它可以在模拟器中工作,但会EXC_BAD_ACCSES在设备上抛出.
这甚至都没有在模拟器上完全解决问题,因为下次用户放大时,变换将自身重置为它所处的任何缩放级别,因此看起来,如果我缩放到2x,例如,它突然达到4倍.当我完成缩放时,它以正确的比例结束,但实际的缩放行为看起来很糟糕.
首先:如何让图形在缩放后以1x1的标准比例重绘自己,如何在整个过程中进行平滑缩放?
编辑:新发现错误似乎是" [CALayer retainCount]: message sent to deallocated instance"
我自己永远不会释放任何图层.在此之前,我甚至没有删除任何观点或任何内容.在缩放和旋转时抛出此错误.如果我在旋转之前删除对象并在之后重新添加它,它不会抛出异常.这不是缩放的选项.