Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用CATiledLayer进行翻译时,在敲击UIBezierPath时执行错误访问_Ios_Swift_Uiscrollview_Uibezierpath_Catiledlayer - Fatal编程技术网

Ios 使用CATiledLayer进行翻译时,在敲击UIBezierPath时执行错误访问

Ios 使用CATiledLayer进行翻译时,在敲击UIBezierPath时执行错误访问,ios,swift,uiscrollview,uibezierpath,catiledlayer,Ios,Swift,Uiscrollview,Uibezierpath,Catiledlayer,我有一个UIScrollView,其中包含一个“绘制视图”,用户可以用它来绘制徒手UIBezierPath。它使用CATiledLayer,因此我可以在不模糊的情况下进行缩放 当我绘制路径时,尽管stroke被多次调用,但没有EXC_BAD_访问错误。但是,当我使用CGAffineTransForm转换路径时,它会持续不到几秒钟,然后在路径被笔划时抛出EXC_BAD_访问错误。它还通过路径直观地创建人工制品 我确信这与CATiledLayer不喜欢翻译有关,因为当我停止使用CATiledLaye

我有一个UIScrollView,其中包含一个“绘制视图”,用户可以用它来绘制徒手UIBezierPath。它使用CATiledLayer,因此我可以在不模糊的情况下进行缩放

当我绘制路径时,尽管stroke被多次调用,但没有EXC_BAD_访问错误。但是,当我使用CGAffineTransForm转换路径时,它会持续不到几秒钟,然后在路径被笔划时抛出EXC_BAD_访问错误。它还通过路径直观地创建人工制品

我确信这与CATiledLayer不喜欢翻译有关,因为当我停止使用CATiledLayer时,没有任何问题——路径按照预期进行翻译,没有任何人工制品。但是,我需要CATiledLayer在不模糊的情况下进行缩放(据我所知,除了将contentscalefactor设置为缩放级别外,没有其他解决方案)

抛出错误时,内存/CPU使用率没有异常

值得注意的是,我使用的是iOS 11和Xcode 9测试版。(编辑:同样发生在iOS 10上,但仍然使用相同的Xcode 9测试版)


我尝试打开僵尸对象,但它没有提供任何有用的信息。

CATiledLayer
使用多个线程来绘制其内容。许多UIKit操作需要从主线程完成。保持平铺层优势的最佳方法应该是使用核心图形路径,而不是UIKit路径。另请参见。

CATiledLayer
使用多个线程绘制其内容。许多UIKit操作需要从主线程完成。保持平铺层优势的最佳方法应该是使用核心图形路径,而不是UIKit路径。另请参见。

但您的代码是机密的?但您的代码是机密的?我尝试绘制CGPath。现在,在翻译的时候,它可以正常工作,但是当我尝试缩放或旋转它时,仍然会因为EXC\u BAD\u访问崩溃。没有你的代码,没有人能够帮助你。我尝试绘制CGPath。这在翻译时可以正常工作,但是当我尝试缩放或旋转它时,如果没有你的代码,没有人能够帮助你,仍然会因为EXC_BAD_访问而崩溃。