问题标签 [catextlayer]

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 回答
2916 浏览

iphone - CoreAnimation CALayer 和 CATextLayer 组合

我最近只是在玩 CA。现在我有点卡住了。这是我想要动画的东西: 在此处输入图像描述

至于现在我已经让圆形动画工作了。我将 CALayer 子类化来制作动画。我真的不知道从这里去哪里。我必须在哪里添加 CATextLayer 的子层?如何同时为两者设置动画,使其看起来像带有线条的文本粘在圆圈末端?

如果您需要一些代码或其他任何内容,请告诉我。

我真的很乐意在这里得到一些帮助:-)

非常感谢!

0 投票
1 回答
2084 浏览

core-animation - CATextLayer 包裹 sizeToFit?

如果我设置textLayer.wrapped = YES,我如何调整大小textLayer以包含换行的文本?即,我如何获得新的高度textLayer

基本上,我想要类似-[UILabel sizeToFit].

0 投票
1 回答
94 浏览

objective-c - 提取字母的结构

假设我有字母“a”。我的目标是使用“小彩花”重绘这封信。如何提取字母的路径/结构/蓝图以将其用作自定义绘图的路径?

0 投票
2 回答
363 浏览

iphone - 混合 CATextLayer 和 CAScrollLayer

我需要一个可滚动的 CATextLayer 来显示一个 NSAttributedString。有没有办法混合两个图层,或者向 CATextLayer 添加滚动或在 CAScrollLayer 中显示文本?

对不起,如果问题不是很准确。谢谢!

编辑:我还没有看到 CALayer 是可滚动的。对不起!

0 投票
1 回答
1413 浏览

iphone - 动画 CATextLayer 字符串属性

我正在尝试为 CATextLayer 的字符串属性设置动画,以便我可以使用 AV Foundation 为我的视频添加时间戳。有谁知道如何对此进行动画处理,以便我可以每秒更改字符串值?

0 投票
1 回答
700 浏览

iphone - CATextLayer 不滚动

我目前正在编写一个读取文件并将标题放入列表的应用程序。当单击每个标题时,它会切换到一个带有 CATextLayer 的控制器,其中包含与该标题相关联的文本(通常是几个段落)。最初,我使用 UITextView,但我发现我需要更多格式选项(即对齐对齐)并切换到 CATextLayer。

我在这里阅读了其他问题,CATextLayer 天生就是可滚动的,但是我找不到如何触发该行为。当我尝试设置contentsRect时,我的文本完全从视图中消失。

这是我的设置代码,除了滚动之外还可以使用:

我查看了 CATextLayer 和许多其他 SO 问题的文档,但没有找到我想要的东西。

编辑:这个类可以滚动,但是需要使用contentsRect的偏移量以编程方式完成。CAScrollLayer对于一些辅助函数(scrollToPointscrollToRect)和稍微整洁的计算集, 它可以被子分层。CAScrollLayer还需要程序员处理触摸事件,所以为了简单起见,我不会走这条路线。

对于那些想用 . 走这条路的人CAScrollLayer,我的设置代码更改为以下内容:

0 投票
1 回答
402 浏览

objective-c - 为什么 CATextLayer 对象的 CAKeyFrameAnimation 不一致?

目的是什么:按钮单击请求 CATextLayer 对象的字符串值进行动画处理,直到被另一个按钮单击请求停止。有两个单独的按钮负责这些操作,这样操作就不会混淆。

实际情况:在播放请求中,有几次textLayer的字符串没有动画,其字符串值保持不变,同时显示分配的“0”(如上图)。在这种情况下,动画永远不会被初始化并分配给 CATextLayer 对象。但是,错误并不一致。CATextLayer 对象将显示适当的字符串值时,也有几个实例。如果连续单击按钮,成功率大约是看到 CATextLayer 对象为其字符串值设置动画的 70%。是否有任何场景可以绕过 addAnimation 方法的代码行?

感谢您对问题的任何和所有帮助。提前致谢!

0 投票
1 回答
698 浏览

xamarin.ios - MonoTouch 中带有 AttributedString 的 CATextlayer

我正在尝试在不同的单词上创建一个具有不同样式的“标签”,就像这里描述的那样。问题是 - 据我所知 - UATextLayer 的 MonoTouch 实现不接受将 NSAttributedString 分配给 String 属性,因为 String 属性具有字符串类型。

这是实施中的错误还是有另一种方法?

(是的,我知道我可以添加单独的标签 - 但如果有更好的解决方案,我宁愿不要)。

编辑(响应米格尔的回答):

在更改为 GetHandler 并更正为“void_objc_msgSend_IntPtr”而不是“void_objc_msgSend_IntPrt”后,答案中的代码编译并运行,但它无论如何都不能正常工作(我将其标记为答案有点快)。不会引发任何错误,但不会显示文本。

代码:

如果我取消注释_textLayer.String=_text我会看到文本(但当然没有属性),所以问题不在于图层。

0 投票
1 回答
2047 浏览

iphone - 将 CATextLayer 与 CGContext 一起使用

我需要将文本绘制到 CGContext 中并想使用 CATextLayer 来设置文本。谁能给我一些关于如何完成的步骤。我已经为它编写了一些代码,但不知道它的正确性(因为我是 iPhone 开发的新手)。

一些基本问题: 1. 如何获取文本的位置和大小以设置 CATextLayer 框架 2. 文本以某种方式出现反转,我已使用 CGAffineTransform 修复,但它是一个 hacky 修复,我想知道为什么文本倒过来了。3. 我还需要设置我正在使用 NSAttributedString 的文本边框宽度和颜色,但是设置文本大小(增加或减少)不会反映在屏幕上。

编辑 1:

我已根据您的建议更新了代码,但即使在使用 CTFontRef 后文本也没有调整大小。此外,在 iPhone 上,文本从顶部被截断了一点。知道什么设置不正确吗?当我检查从 getTypographicBounds 获得的值时,它们都是 0(origin.x、origin.y、宽度和高度)。

getTypographicBounds 方法:

修改后的代码:

编辑 2:wiki 示例使用 CTLine,我使用的是 CATextLayer。原因 :: CATextLayer 允许我在运行时修改文本以显示中文、日文、印地文、俄文和所有具有不同脚本的语言。此外,CATextLayer 的渲染似乎比 CoreText 更清晰。

我现在面临的问题是 [text drawInContext:ctx] 行显示的文本从顶部截断。我检查了框架和文本字体大小。字体大小为 16 像素,框架高度为 17.768,所以我不知道它为什么会被截断。

提前致谢

缺口

0 投票
2 回答
1619 浏览

ios - CATextLayer 旋转?

这应该真的有效,但不是:

事实上,当我在 transform.rotation 打印值时,它显示了正确的答案。它只是不绘制旋转的textLayer!

我究竟做错了什么?