问题标签 [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.

0 投票
7 回答
27360 浏览

ios - 如何从 UIBezierPath 获取点列表?

我有一个UIBezierPath我需要从中获取点列表。

Qt一个函数pointAtPercent可以满足我的需要,但我在Objective-C.

有谁知道如何做到这一点?

0 投票
12 回答
35215 浏览

ios - 如何在 iPhone 上画出“讲话泡泡”?

当您右键单击扩展坞中的某些内容时,我正在尝试获得类似于 Mac OS X 中的“语音气泡”效果。这是我现在拥有的:

替代文字

我需要得到下部的“三角形”部分。有什么办法可以画出这样的东西并在它周围画一个边框吗?这将适用于iPhone应用程序。

提前致谢!

编辑:非常感谢 Brad Larson,这就是现在的样子: 替代文字

0 投票
3 回答
4530 浏览

ios - Drawing many UIBezierPaths in a view

I am drawing several UIBezierPaths on a view based on finger movements.

Every time a cycle of touches -- Began/Moved/Ended -- completes, I store the points and create a UIBezierPath that is stored in an array called bezierArray. I have another array called bezierArrayColors that stores the colors of each path.

The problem is this. The class uses drawRect. As far as I can see, every time drawRect runs, it has to draw all the paths that were ever created and the app is now slow.

This is my drawRect now. I know it is pretty lame, but I am not seeing how this can be done.

Is there a way to stroke a UIBezierPath with different colors or perhaps widths using subpaths? I mean, to change color, width and other properties of a subpath? That would allow me to use one UIBezierPath with several different subpaths. I wish one bezier could be drawn and left there without needing to be redrawn every time. What am I missing?

0 投票
0 回答
650 浏览

ios - 简单的 iOS 层子类位置不正确

当我运行这个东西时出现的位置有点偏离。它是一个简单的 CALayer 子类,带有一个 drawInContext 函数并将其定位在视图控制器中。

当我创建图层并添加它时,它是通过控制器代码中的此代码完成的。这将运行,因此创建了图层。但立场不正确。它似乎在纵向上效果更好,但我还需要检测旋转的方法(但这不是我立即关心的问题)。

主要问题似乎在实际绘图中,代码如下,但即使在调用 needsDisplay 时它也没有实际运行。

我不知道在哪里可以找到这个代码。欢迎任何想法或方向。

0 投票
2 回答
2731 浏览

iphone - 如何将 UIBezierPath 保存到现有的 UIImageView?

我不知道如何将绘制的路径保存到 UIImage?
我知道我必须使用 UIGraphicsBeginImageContext 和类似 [drawImage drawInRect:CGRectMake(0, 0, drawImage.size.width, drawImage.size.height)];
但我不知道把它放在我的触摸功能中的什么地方。

我需要保存图像的每条路径,因为我希望能够在每条绘制线之后更改颜色和 alpha 值。
使用此代码,当我更改值时,将同时调整所有线条的颜色和宽度。

0 投票
1 回答
1061 浏览

iphone - NSDictionary 中的 UIBezierPath - 有可能吗?

我正在尝试将 UIBezierPath 和其他一些值保存在 NSDictionary 中。

我在字典里这样写:

接触开始:

接触结束:

并像这样阅读它:

但我得到这个错误:

不要认为我做错了什么。

字典日志:

没有路径的字典:

日志输出:

也以崩溃结束。

0 投票
1 回答
8374 浏览

iphone - iPhone - 将 UIBezierPath 复制到 CGPath 并呈现为原始

我创建了一个复杂的 UIBezierPath,它由几个路径段、实线、虚线、线条、颜色、弧线等组成。所以我有了这个,现在我想将它渲染到 CGContext。

因此,我将其转换为 CGPathReference 使用

问题是这样的:理论上,如果我想在一个CGContext上画一条路径,我必须为每个需要不同的段定义笔触宽度、颜色、线条样式、混合模式等,但是UIBezierPath我已经创建包含所有这些信息。

所以,我想知道是否有一种方法可以“标记”CGPath,因为它在 CGContext 上,所以它会被标记所有原始信息?

谢谢。

0 投票
2 回答
1445 浏览

iphone - iPhone - 试图理解 CGContext 中的 UIBezier

当我有一个 UIBezier 并使用 drawRect 在视图上绘制它时,我看到贝塞尔曲线是一种易变的,我的意思是,它真的没有在任何地方绘制。相反,它就像是写在一种与我在该视图中看到的内容相对应的缓冲区中。我的意思是,如果我使用 [self setNeedsDisplay] 再次调用 drawRect ,贝塞尔曲线就消失了,我可以写其他东西。

另一方面,如果我在 CGContext 上使用

我真的在那个上下文中写了一行,没有办法删除它,如果我再次调用相同的方法,它将覆盖现在已经绘制了一条线的上下文。

但是当我使用 UIBezier 命令在 CGContext 上写入时会发生什么?

我的意思是,如果我做类似的事情

此行是永久写入 ctx 还是像以前一样易变?文档不包含有关它的信息,并且一如既往地含糊不清。

谢谢

0 投票
3 回答
33181 浏览

ios - 如何在 UIView 中绘制多个不同颜色的 UIBezierPath

我想在 UIView 中用不同的笔触和填充颜色绘制多个 UIBezierPath。

这是代码

问题是笔触和填充颜色是在当前上下文中设置的。是否可以在同一个 CGContextRef 中绘制不同颜色的不同 UIBezierPath?

或者我必须在单独的 UIView 中绘制每个 UIBezierPath?

0 投票
1 回答
4856 浏览

ios - 如何绘制 UIBezierPath 并与之交互

我想在我的应用程序中为建筑楼层实施和设计地图。在开始之前,我想有一些建议。

我打算使用 UIBezierPath 来绘制形状。每个 UIBezierPath 将代表我地图上的一家商店。这是一个插图(map_with_UIBezierPath

我的代码结构如下:我有一个 UIViewController 和一个 UiView。在 UIViewController "viewDidLoad" 方法中,我实例化了 UIView,在 UIView "drawRect" 方法中,我绘制了如下形状(UIBezierPathExtension 继承自 UIBezierPath):

我还在 UIViewController 中实现了平移和捏合手势。

现在,我在问我如何与每一个形状进行交互。我想检测一次点击,更改他的颜色并在所选形状上显示类似的菜单。

有人能告诉我正确的方向吗?

提前谢谢