问题标签 [cashapelayer]

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 投票
2 回答
2423 浏览

ios - 向CALayer添加半透明蒙版?

我试图使我的 UIImageView 的周围区域变暗,并单独留下一部分(我用我的面具定义)。

现在我正在定义我的蒙版并设置我的 imageView.layer.mask,但是它并没有使图像的其余部分变暗,而是完全删除它。

我想要的效果类型示例:http://i.imgur.com/vVUiuyk.png

我得到的例子:http://i.imgur.com/5DTXo0S.png

参考文档提到蒙版使用它的图层 alpha,所以我尝试操纵蒙版的不透明度。但是,这似乎只会影响我想单独留下的部分的不透明度,而图像的其余部分仍然被完全剪掉。

谁能指出我做错了什么?谢谢。

这是我的代码:

0 投票
1 回答
884 浏览

iphone - iphone:如何为uibeizserpath设置描边颜色设置动画?

我有一个带有水平和垂直 beizer 路径的视图。生成的视图看起来像下面的在此处输入图像描述

现在在触摸视图时,如果用户触摸了路径之一,我必须通过动画更改该路径的颜色,这意味着在触摸路径时,路径的 storke 颜色将被动画更改。

我可以用正常的方式做到这一点,这意味着当用户触摸路径时,我可以改变颜色但不能改变动画效果。

我已经创建了具有 defaultStorkeColor、SelectedStorkeColor 等属性的 UIBeizerPath 的子类,并且我在 drawrect 中操作它们。

我的drawrect是

{

}

请帮助我实施。

0 投票
0 回答
271 浏览

performance - CAShapeLayer 性能

据我了解,CAShapeLayer基本上将其形状绘制成CGImageRef. 因此,如果我自己将形状绘制到CGImageRef上下文中并将其设置为 plain 的内容CALayer,我将获得类似的性能和内存使用。

这是一个正确的假设,还是CAShapeLayer在幕后做了一些神奇的事情?

0 投票
0 回答
72 浏览

cashapelayer - 用物理属性扩展 CAShapeLayer(或者有更好的解决方案)?

首先声明,我在 iOS 编程方面完全是 n00b,但有超过 15 年的其他 OOP 经验。到目前为止,我已经对我想要完成的工作进行了广泛的搜索,但还没有给出明确的答案。我正在尝试创建绘制直线的效果(类似于水果忍者切割动作),无论角度如何,它都会在点 a(beginTouch)和 b(endTouch)之间画一条线。通过使用 CAShapeLayer,我可以很容易地实现它。它也非常有用,因为它支持一些我希望能够应用于最终结果行的动画选项。但我还需要一种能够模拟物理行为并产生线条形状的能力,例如弹跳,可能使线条变形以模拟拉伸,并应用某种破坏动画(褪色/破碎装置)。我不确定 CAShapeLayer 是否是实现这种效果的最佳选择,如果它是我下一步扩展它或将它与其他东西结合起来的地方。我知道这不是一个特定的代码示例类型的问题,但专家意见表示赞赏。

干杯

亚历克斯

0 投票
1 回答
1520 浏览

iphone - 如何重新调整 UIBezierPath 的大小和位置?

我有一个使用 PocketSVG 由 SVG 文件制成的 UIBezierPath。

我想将我的 UIBezierPath 包含在 CGShapeLayer 中,并使用以下代码:

但这似乎不起作用,而且我的形状不会改变与任何这些设置相关的大小或位置。

就将其移动到位的功能而言,我是否缺少某些东西?

0 投票
0 回答
3407 浏览

calayer - 通过组合多条路径创建 CALayer 蒙版

我正在尝试为包含图像的 CALayer 创建一个蒙版。该掩码应能够使用多条路径的联合或联合的逆。就可能是分离或联合否认的维恩图而言(在此处查找我无法发布的维恩图图形:https ://en.wikipedia.org/wiki/Logical_connective#Common_logical_connectives )。我还在专门的 iOS 论坛中启动了一个线程,其中包含大量图形和更多示例代码:http ://www.raywenderlich.com/forums/viewtopic.php?f=2&t=7155

我确实成功地创建了第一种情况:多条路径的联合(析取)。

您可以将代码复制到新的单屏应用程序中进行试用(不要忘记包含 Quartz 框架):

然而,逆向似乎无法驯服,例如使用蒙面掩码:

我正在寻找如何实现这种效果的想法。

类似的问题是: iOS - 使用 UIBezierPath appendPath 剪切两条路径的联合 (在我的情况下不适用,因为交叉点可能是不规则的) 在 iOS 上结合相交 CGPaths (未解决)

0 投票
1 回答
717 浏览

iphone - 如何在 CAShapeLayer(Rounded-Recr 角 UIView)上设置 maskToBounds 效果?

I want to make the glow effect spread outside of thisView.

我用这段代码来制作Half-Rounded rect cornered UIVew.

UIView中的圆两个角

这是我的代码。

并且two image buttons在这种观点中存在封闭的边界。如果按钮上发生触摸事件,发光效果显示(showsTouchWhenHighlighted

在使用这段代码之前,我只是使用了

并且发光效果散布在“thisView”之外。

但是在“thisView”中使用 CAShapeLayer 来掩盖半被唤醒的矩形后,发光效果被边界掩盖了。

0 投票
1 回答
1802 浏览

iphone - iphone-给 CAShapeLayer *maskLayer 透明背景

我有一个UIImageViewUIView在那我已经使用UIBezierPath. 现在我希望其他部分是透明的。我的代码是,

输出如下图所示。该图像周围的黑色部分应该是透明的在此处输入图像描述 请帮助我。

0 投票
0 回答
799 浏览

iphone - UIScrollView 中 UIView 的 CAShapeLayer 子层非常慢

我有一个自定义 UIView,它应该是一个圆形矩形,当您开始在其中编辑 UILabel 时,圆形矩形将增长其形状(CAShapeLayer 蒙版路径和轮廓路径上的 CABasic 动画)。所以要清楚,自定义 UIView 是这样组织的:

MyCustomView 有一个 ClipView。ClipView 使用 drawRect 绘制圆角矩形的背景。(clipview == 被剪辑的视图)

然后,我调用以下代码来执行 CAShapeLayer 操作:

虽然动画收益是最快的方法(拉伸两个 CAShapeLayers),但整个元素(MyCustomView)导致一切都变慢了!例如,持续的 UIView 动画,当 MyCustomView 在 ScrollView 中时,它也非常跳跃。

我最关心的是 UIScrollView 问题。为什么 UIScrollView 翻译这些图层会如此不稳定?有没有好的解决方案/可以达到相同效果的另一种方法是什么?

0 投票
1 回答
617 浏览

iphone - 在IOS上使用UIBezierPath和CAShapeLayer做曲线边效率高吗?

我只需要为 UILabel 制作顶部的两个角,所以经过一些探索后我就这样做了。

这样做有效率吗?在一个论坛中,他们提到不要为了有效的目的多次使用它。如果是这样,我该怎么办?我需要在几个地方。谢谢。