uibezierpath相关内容

为什么给 addArcWithCenter 一个 0 度的 startAngle 使它从 90 度开始?

我正在创建一个 CAShapeLayer 以用作 UIView 层的掩码.我正在使用 UIBezierPath 来绘制形状图层.它工作得很好,除了我在画画时得到了一些奇怪的结果.几何图形未按预期运行.我正在尝试在右上角绘制简单的“饼图": #define degreeToRadians(x) ((x) * M_PI/180.0)...//"layer" 指的是 UIView 的根层CAShape ..
发布时间:2022-01-14 15:53:50 移动开发

在 UIScrollView 的子视图中绘制网格会分配巨大的内存

我正在尝试在 UIScrollView 中创建一个 UIView,它只包含一个简单的网格(行和列),由 UIBezierPath 或使用 CG 函数淹没.问题是,当我有较大的 UIScrollView 内容大小(以及较大的子视图)时,在绘制网格期间分配了大量内存(50MB 或更多). UIViewController 仅包含整个场景的 UIScrollView - 在 vi​​ewDidLo ..
发布时间:2022-01-12 22:02:40 移动开发

touchesMoved 在 CAShapeLayer 缓慢/滞后的绘图

正如在之前的 StackOverflow 问题中向我建议的那样,我正在尝试改进我的绘图方法,让我的用户在 UIView 中绘制线条/点.我现在尝试使用 CAShapeLayer 而不是 dispatch_async 进行绘制.然而,这一切都正常工作,但是,在触摸移动时连续绘制到 CAShapeLayer 变得缓慢并且路径落后,而我的旧(我被告知效率低下)代码运行得非常流畅和快速.你可以看到我在下面 ..
发布时间:2021-12-31 21:12:10 移动开发

如何擦除在图像上方透明视图上绘制的 UIBezierPath 线?

我正在创建一个类似白板应用程序的应用程序.我有一张动态图片.图像有多种颜色.我想在与白板相同的图像上画线,所以我在上面重叠了一个透明视图.现在我正在使用效果很好的所选颜色绘制线条. 现在的问题是当我尝试在触摸屏幕时擦除线条时,它应该显示像橡皮擦一样的效果.如果我有一些固定颜色(如白色)背景,那么为了擦除线条,我可以用背景颜色画一条线,但在这里我有透明的背景背景,所以我不能这样做. 我尝 ..
发布时间:2021-12-31 21:10:28 移动开发

如何画一个“讲话泡泡"在 iPhone 上?

当您右键单击 Dock 中的某些内容时,我正在尝试获得类似于 Mac OS X 中的“语音气泡"效果.这是我现在所拥有的: 我需要得到下部的“三角形"部分.有什么办法可以画这样的东西并在它周围画上边框吗?这将适用于 iPhone 应用. 提前致谢! 编辑:非常感谢 Brad Larson,这是现在的样子: 解决方案 我之前实际上已经绘制过这个精确的形状(圆角矩形,底部有一 ..
发布时间:2021-12-31 20:38:10 移动开发

如何从 UIBezierPath 获取点列表?

我有一个 UIBezierPath 我需要使用来自的点列表. 在Qt 中有一个名为pointAtPercent 的函数,它可以满足我的需要,但我在Objective-C 中找不到任何等效的东西. 有人知道怎么做吗? 解决方案 你可以试试这个: UIBezierPath *yourPath;//假设这里有一些点CGPath yourCGPath = yourPath.CGPat ..
发布时间:2021-12-03 11:15:32 移动开发

SCNShape 在某些情况下不使用 UIBezierPath 绘制

我认为这可能是一个 iOS 错误,我已通过错误报告将其报告给 Apple.如果我可以使用一些解决方法或解释原因,我会在此处发布它. 我想在 SceneKit 中绘制 UIBezierPath 的描边.我正在使用 CGPath copyStrokingWithWidth 函数,然后使用给定的路径创建一个 SCNShape. 这适用于 2 点的线,但在 3 点的线上,SCNShape 不显 ..
发布时间:2021-11-17 21:31:27 移动开发

UIBezierPath 附加重叠未填充

我正在尝试使用 UIBezierPath.append 合并两个重叠的 UIBezierPath,并且我希望填充重叠的空间.我尝试将 usesEvenOddFillRule 属性设置为 false,但它仍然没有填充.这是问题的最小示例: override func draw(_ rect: CGRect) {让 firstShape = UIBezierPath()firstShape.move ..
发布时间:2021-11-16 19:37:16 移动开发

如何动画 UIBezierPath

我想将矩形的 UIBezierPath 动画化为三角形,而不是为路径上的视图设置动画,而是为路径本身设置动画,使其从一种形状变形为另一种形状.路径被添加到 CALayer CAShapeLayer *maskLayer = [CAShapeLayer 图层];maskLayer.fillColor = [[UIColor whiteColor] CGColor];maskLayer.path = ..
发布时间:2021-11-10 05:34:36 移动开发

如何向被路径遮罩的视图添加阴影

如何为被路径遮罩的视图添加阴影? layer 有一个掩码属性,你可以像这样设置 yourCustomView.layer.mask = somePath.但是我如何添加一个也被遮罩到 layer.mask 的阴影? 解决方案 我看到这个问题问了很多,答案到处都是,所以我想我会集中一点. 基本上,当您想为被路径遮罩的视图添加阴影时,事情就会变得有趣起来. 这是我构建的一个扩 ..
发布时间:2021-09-12 19:45:00 移动开发