问题标签 [uibezierpath]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - 如何使用 UIBezierPath 绘制平滑直线?
我希望能够使用UIBezierPath
. 我该怎么办?
我想做的是这样的:我双击屏幕来定义起点。一旦我的手指在屏幕上方,直线就会随着我的手指移动(这应该恰好弄清楚我应该将下一个手指放在哪里,以便它会创建一条直线)。然后,如果我再次双击屏幕,则定义了终点。
此外,如果我双击终点,应该会开始新的一行。
是否有任何可用资源可供我用作指导?
iphone - 如何细分 UIBezierPath 并将其存储在两个不同的对象中
我在应用程序中有 UIBezierPath。当识别到路径上的手指触摸时,我想细分该曲线并将两条曲线存储到两个不同的对象中。因此,触摸坐标将作为一条曲线的终点和第二条曲线的起点。
同样,如果我触及这条曲线中的任何一条,这条曲线将细分为另外两条曲线,依此类推。
我搜索了很多。但找不到任何好的解决方案。
我也不知道是否有其他方法可以做到这一点。任何帮助将不胜感激。谢谢
iphone - 不规则形状的 UIBezierPath 填充
我正在做一些自定义控件。控件的其中一个子视图是透明的,并且绘制UIView
了路径。UIBezierPath
在其中一张照片上,我们只说边界UIBezierPath
(称为 [路径笔划]),但在第二张照片上,您可以看到当我调用 [路径填充] 时会发生什么。我想要填充路径以创建类似于第一张照片上的形状。drawRect
这个透明UIView
的方法如下。
感谢帮助 !
ios - 如何剪切或禁用 UIView 的一部分?
我有一个 UIView 的自定义子类 LineDrawingView。我将其作为主视图控制器中的@property 并将其添加到视图中。这很好用——它在当前视图之上创建一个透明视图,并使用 UIBezierPath、touchesBegan、touchesMoved 等,因此您可以通过拖动手指来绘制整个视图。
我需要将该绘图视图设为“L”形,这样我就可以在左下角有一个区域来放置各种控件。我想不出任何办法使绘图视图为“L”形,除了可能添加两个单独的矩形绘图视图,但这不起作用,因为当您将手指从一个矩形拖动到另一个矩形时,触摸会中断。我想出的另一个解决方案是在绘图视图之上添加另一个视图。这个视图应该阻止绘图,我还可以在其中找到我的控件,以便在启用绘图时它们仍然可用。
我尝试创建一个 UIView 并将其添加为绘图视图的子视图。我给它染色了,这样我就可以检查它是否存在并且在正确的位置。我希望这可以防止在新 UIView 的区域内绘图,但在 LineDrawingView 的整个区域内继续绘图。我还尝试在索引 2 处插入新的 UIView,在索引 1 处插入 LineDrawingView。它仍然没有影响绘图。
我很想知道:我怎么能...
创建一个“L”形的图纸视图?或者 剪下绘图视图的一部分,以便用户可以与它后面的内容进行交互?或者在绘图视图顶部强加一个区域,我可以在其中禁用绘图并添加我的控件?
objective-c - 如果与 CGContextSetShadowWithColor 一起使用,UIBezierPath 会降低性能
我正在开发一个应用程序,用户可以在其中用手指触摸画线或简单地喷涂颜色。我正在使用 UIBezierPath 在 drawRect 方法中使用以下代码绘制手指触摸的路径(颜色)。
CGContextRef 上下文 = UIGraphicsGetCurrentContext();
这段代码在模拟器上运行完美,但在设备上喷雾真的很慢。问题仅在于方法调用 CGContextSetShadowWithColor,如果我评论这条线性能最好,完全没有问题。
请告诉我为什么会这样,我该怎么办。这条线是必要的,因为我想用模糊阴影显示类似喷雾的效果。
iphone - UIBezierPath 减去路径
通过使用[UIBezierPath bezierPathWithRoundedRect:byRoundingCorners:cornerRadii:]
,我可以创建一个圆形视图,例如:
我怎么能从这条路径(或其他方式)中减去另一条路径,以创建这样的路径:
有什么办法可以做这样的事情吗?伪代码:
cocoa-touch - 沿 UIBezierCurve 查询动画的特定点?
我最近为 Maya 编写了一个脚本,该脚本导出了一个包含 Bezier 路径(一系列 xy 点和 xy 控制点)数据的文件。
此贝塞尔路径旨在表示我的角色将在应用程序内以恒定速度行驶的 3D“轨道”或路径。
我了解如何构建 UIBezierCurve,但我似乎无法找到任何可靠的信息,如果它可能/如何获得曲线上一个点的 x / y 位置,给定沿曲线行进的距离。
我在苹果上找到了这个列表:
http://lists.apple.com/archives/cocoa-dev/2002/Feb/msg01806.html
但我不太明白该函数返回什么以及如何使用它来完成我的目标。
任何帮助/建议将不胜感激,
谢谢,-亚当·艾斯菲尔德
ios - 将 UIBezierPath 虚线重置为法线
我知道UIBezierPath
的- (void)setLineDash:(const CGFloat *)pattern count:(NSInteger)count phase:(CGFloat)phase
方法可以画虚线。
但是如何在编程中将其重置为正常行?
objective-c - 调试 UIBezierPath
我正在努力显示UIBezierPath
我在代码中生成的 a,因此在尝试调试它时,我想打印它绘制的坐标。我在任何地方都找不到这种技术。鉴于下面的代码,有人可以分享这个吗?
谢谢
objective-c - 如何擦除用 NSBezierPath 绘制的东西?
我刚刚使用 NSBezierPath 创建了一条路径,并使用 [path fill] 将其绘制到视图上。我的问题是如何删除我绘制的内容?
一种可能的解决方案是使用背景颜色再次使用 [路径填充],但如果有背景图像而不是简单的背景颜色,这将不起作用。所以有人有什么想法吗?