问题标签 [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.
ios - NSScreen 上的 UIScreen.mainScreen.scale
CATextLayer 清洁有问题。对于 iOS,解决方案是:
但我在可可 NSScreen 上找不到“比例”属性
注意:使用 Object-C 或 Swift 回答是可以的。
ios - 如何在 CATextLayer 文本上添加边框轮廓描边和填充描边
这是代码,
滑块值是笔划的宽度,t.string 表示文本层字符串。谢谢
cocoa - 如何将托管 NSView 的图层渲染到文件
有没有办法在不实现每个 CALayer 的–drawInContext:
方法(或类似地,每个层的委托方法)的情况下将托管 NSView 的层(如屏幕上显示的那样)渲染为 PDF 或位图文件-(void)drawLayer:inContext:
?我只希望 NSView 的内容与它们所显示的内容完全一样,并且使用最少的额外绘图代码。
我读过很多资料,说要渲染为 PDF,你必须-drawInContext:
实现当您将它们添加到视图时渲染“正常工作”的图层,例如 CATextLayer 或 CAShapeLayer。必须重写 CATextLayer 的代码来告诉它如何在它显然完全有能力在屏幕上绘制自己时,这似乎是完全多余的。
我错过了什么明显的东西吗?
xcode - 包装的 iOS CATextLayer 无法按预期工作
我有一个带有多行文本的 CATextLayer。Wrapped 选项设置为 YES。但它不会将文本换行在最后一行。如果我用 \n 和空格添加另一行,则会发生换行(但这会破坏布局)。
这只发生在 iOS >= 8.3
有什么想法可能导致这种情况吗?
ios - 沿 Arc 定位 CATextLayers
我正在尝试构建一个可能看起来像这样的 Inkscape 模型的自定义控件:
我正在做一些事情,drawRect()
但我需要为一些元素设置动画,所以我决定切换到CALayer
s 的组合。我一直在使用CGContextRef
函数绘制文本,但是在切换到CATextLayer
每个字符后,我似乎无法正确转换它们。
我的一般方法是为每个角色创建一个CATextLayer
。我想我可以使用每一层preferredFrameSize()
来获得角色的最终大小。然后我想我会在我的控制layoutSubviews()
方法中调整它们的位置和旋转。
“我试过什么?” 我觉得我只是坐在旋转中,蒙着眼睛,投掷飞镖。你的名字,我试过了。
我可以通过以下方式确定每个角色的旋转角度:
我注意到这layoutSubviews()
似乎被调用了两次。为什么?我注意到第二次通过时,preferredFrameSize()
似乎更薄了。为什么?是不是因为我在设置它affineTransform
并且它具有累积效应。我试图最初将图层的位置设置为父框的中心,并将边界设置为preferredFrameSize,希望将其居中。然后应用变换。尽管多次尝试,我得到了奇怪的位置,以及奇怪的剪辑。
所以我只是在寻找一个简单/直截了当的配方,它将 aCATextLayer
从视图中心定位在给定的半径/角度。
cocoa - 具有比例变换的模糊 CATextLayer
我无计可施。我已经尝试了我认为的一切来摆脱CATextLayer
模糊无济于事。诚然,有些东西会有所帮助,但是当放大 2 倍时,文本仍然过于模糊,远不及非CATextLayer
文本的清晰度。
这是我的情况。我有一个层托管的视图,它可以包含许多子层,包括CATextLayers
(在自定义CALayer
容器内)。现在,用户可以缩放主内容层(包含所有子层内容),这是通过对内容层应用缩放变换来完成的。
这是我目前正在做的事情。大多数都会有所作为,尽管差别不大。如果我一直放大(这是 2 倍比例因子),我会得到严重模糊的文本。
确保积分坐标 - 工作并产生明显的差异,但在 2 倍比例下仍然过于模糊
关闭
CATextLayer
容器层上的阴影 - 虽然不是 2 倍规模,但会有所不同确保文本层的背景颜色完全不透明 - 尽管不是 2 倍比例,但似乎有所不同
将
contentsScale
属性设置为所有图层的窗口支持比例因子 - 尽管不是 2 倍比例,但似乎有所不同覆盖
-drawInContext:
此自定义CATextLayer
子类以平滑、抗锯齿和子像素量化一切 - 字体渲染更真实,但在 2 倍比例下仍然模糊
代码片段:
我错过了什么?
swift - 为什么 CATextlayer 使用那么多内存
- 我有一个大小为 3000 * 3000 的 CATextLayer,里面有一个大文本。
- 文字是说“你好”
- 我将此 CATextlayer 添加到我的 Superlayer。
- 我已将 shouldrasterize 设置为 false。
当使用翻译移动超层时,我观察到巨大的内存使用情况,直到应用程序崩溃。
为什么要占用这么多内存?我怎样才能避免这种情况?
我假设,内存中会存储一个位图?但为什么 ?
我的示例是一个极端案例,这并不是我真正高效的应用程序,所以请不要问你为什么要这样做。它只是试图理解发生了什么的极端案例。
objective-c - 如何为 CATextLayer() 设置系统字体?
对于UILabel
,我可以将系统字体设置为:
对于CATextLayer
,有没有类似的方法来设置系统字体而不是直接给出字体名称?
objective-c - 用 CATextLayer 怎么做才能在 UILabel 中显示与系统字体相同的字体?
当我使用 时UILabel
,我将系统字体设置为:
现在我尝试使用CATextLayer
并在网上搜索,发现iOS 9的系统字体是San Francisco
,字体名称是.SFUIText-Medium
,所以我尝试将字体名称设置为:
但是,设备屏幕上显示的字体与上面解释的UILabel
&不同。CATextLayer
在这里使用的正确字体名称是什么,CATextLayer
以便我可以显示与 ? 完全相同的字体UILabel
?