ios - 完全删除 UIBezierPath 和 CAShapeLayer 绘制的项目

标签 ios objective-c drawing uibezierpath cashapelayer

在纵向模式下(第一次绘图)

enter image description here

旋转成横屏后,为什么是旧的形状:

enter image description here

我正在使用 UIBezierPathCAShapeLayer 在自定义 UIView 层中绘制圆和线。问题是尽管能够在设备旋转后成功绘制新的圆圈和线条,但我无法删除旧绘制的形状。 设备旋转后绘制的新形状是完美的,我只需要从屏幕上移除那些粘在屏幕上的旧形状。 附上图片。

最佳答案

您可以删除之前的CAShapeLayer(使用removeFromSuperlayer)或者替换之前的CAShapeLayerpath .您似乎在添加一个新层而不删除旧层,但当然如果没有源代码就无法分辨。

关于ios - 完全删除 UIBezierPath 和 CAShapeLayer 绘制的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27275946/

相关文章:

ios - 存储 ios 离线抽认卡应用程序的单词

ios - 使用 Simperium 构建 iOS 应用程序时出现链接器错误

iphone - 无法将头文件链接到 xcode 项目

c# - 生成员工卡

ios - 搜索栏未正确过滤

ios - 当移动到空部分时,UICollectionView 没有给出正确的索引路径

ios - 测试 : Undefined symbols for architecture x86_64 时链接器错误

iphone - 需要帮助在应用程序中创建 .plist

objective-c - 如何使用 objective-c 在纸牌游戏中画出完美的曲线?

opengl - 我对 OpenGL 推/弹出矩阵的理解有误吗?