CATextLayer 子像素抗锯齿

2024-01-10

我的应用程序在NSImageView.
图像视图显示图像以及该图像上的色调。

这确保了标签和背景图像之间的对比度有效。

如您所见,子像素抗锯齿功能已启用并且工作正常。

当您将鼠标悬停在这些标签上时,它们会动画化frame属性(实际上是包含它们的视图)。
制作动画时,子像素抗锯齿功能会被禁用,完成后会再次启用。

这看起来非常奇怪。

该图层永远不会重新绘制,并且子像素抗锯齿也不必更改。
所以我看不出为什么在制作动画时不应该显示它的充分理由。

我已经尝试了我能想到的一切。

  • 制作NSTextField opaque
  • 制作CATextLayer opaque
  • 给予NSTextField背景颜色
  • 给予CATextLayer背景颜色

总是相同的结果。

禁用标签的子像素抗锯齿功能不是一个选项,因为它在非视网膜设备上可读性不佳。


EDIT

我忘了图层被替换为presentationLayer制作动画时。
该层可能不支持子像素抗锯齿,这就是它被禁用的原因。

现在的问题是我是否可以替换这个presentationLayer with a CATextLayer.

我还注意到的是设置shouldRasterize to YES也为动画启用了子像素抗锯齿,但仅限于背景颜色。所以没有背景颜色不会带来子像素抗锯齿。


有什么办法可以发布一段示例代码吗?我快速模拟了一个 NSWindow,添加了一个 NSImageView,添加了一个无背景的 NSTextField,并将 setWantsLayer: 设置为 YES。在我的 applicationDidFinishLaunching: 我在 NSTextField 的 Animator 框架上设置了一个新的矩形,但我没有看到任何像素化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CATextLayer 子像素抗锯齿 的相关文章

  • npm WARN checkPermissions 缺少写入权限

    我一直在尝试解决在 Mac 上不使用 sudo 运行节点的问题 但我不断收到此消息 npm WARN checkPermissions Missing write access to Users myuser npm packages li
  • didReceiveRemoteNotification 未调用,iOS 10

    在 iOS 9 3 中 didReceiveRemoteNotification方法在以下两种情况下都会被调用 1 收到推送通知时 2 当用户通过点击通知启动应用程序时 但在 iOS 10 上 我注意到didReceiveRemoteNot
  • UITextView自定义自动完成

    有没有办法为 UITextView 实现自定义自动完成 例如给它一个NSDictionary or NSArray需要注意的字符串 你必须自己编程 如果您实现 UITextViewDelegate 协议 则该函数 BOOL textView
  • iPhone 编程游戏

    使用 Objective C 还是 C 为 iPhone 编写游戏最好 像 Flight Control 这样的游戏会用什么语言编写 图形应采用什么格式才能在 iPhone 上正确显示并快速加载 像 Flight Control 这样的游戏
  • 我们可以在 Objective-C 中创建可空/非空属性吗?

    我们可以在 Objective C 中创建可空 非空属性吗 如果可以 那么如何创建 您可以使用 Nullable and Nonnull预选赛 property copy nullable NSString name property co
  • 模拟 Push Segue 的自定义 Segue 将 VC 变成僵尸

    使事情简短明了 我写了一个自定义的segue void perform UIView preV UIViewController self sourceViewController view UIView newV UIViewContro
  • UIFont Woes(一些自定义字体加载,但其他字体不加载)

    我在加载某些自定义字体时遇到问题 我遵循了这个问题的 400 多个赞同的传统答案中的建议 并且它非常适合一个项目 然而 在我正在从事的另一个项目中 我遇到了加载 UIFont 的问题 这些问题与帖子中发现的问题有些相似向 UIAppFont
  • 未找到 ios 的 React 本机基本标头

    在 iOS 链接阶段 我开始看到我的 React Native 项目出现错误 反应本机版本 0 41 2 0 40 0 39 一切正常 我编辑了 Android 版本 React Native 代码没有改变 当这种链接错误开始出现并带有标题
  • 监控Mac网络流量

    我想知道如何监控 Mac 上的网络流量 就像活动监视器的方式一样 显示进出的字节 数据包 我知道这有点模糊 但我不确定最好的起点 编辑 我想用代码来完成此操作 而不是使用现有的软件 我刚刚找到了开源项目 菜单表 http www ragin
  • 如何判断相机是否正在被其他进程使用?

    在 OS X 中 如何判断摄像头或麦克风是否正在被其他应用程序或进程使用 除非其他应用程序锁定了设备 否则以下操作似乎不起作用 NSArray devices AVCaptureDevice devices for AVCaptureDev
  • #import "xxx" 和 #import 有什么区别? [复制]

    这个问题在这里已经有答案了 可能的重复 include 和 include 文件名 有什么区别 https stackoverflow com questions 21593 what is the difference between i
  • 所有 UI 前面的透明 UIImageView

    首次启动我的应用程序后 我想向用户展示一些教程 以解释我的应用程序的功能 所以我需要设置一个带有一些箭头和标签的透明 UIImageView 其中主 UI 更具体地说 tabbarcontroler 中的 navigationviewcon
  • 使用 Swift 导入 aurioTouch 库

    我正在尝试将 Objective C 应用程序转换为 swift 我想导入课程奥里奥触摸 https developer apple com library ios samplecode aurioTouch Introduction In
  • 在单个 MTLRenderCommandEncoder 中使用多个渲染管道:如何同步 MTLBuffer?

    中心议题我在一个渲染命令编码器中有两个渲染管道 第一个管道写入第二个管道中使用的缓冲区 这似乎不起作用 我预计这是一个同步问题 当我为每个渲染管道使用一个单独的渲染命令编码器时 我得到了所需的结果 可以使用一个渲染命令编码器来解决这个问题
  • Vim 无法在 OS X 上使用 python 进行编译

    我一直在尝试编译vim 7 3 with 蟒蛇2 7支持苹果系统 X 10 6 Vim 本身编译得很好 但嵌入的 python 编译得不太好 我已采取的步骤 hg clone https vim googlecode com hg vim
  • 如何在 Mac 上安装 Python 的 dlib?

    我尝试在 macOS 上的 Python 3 7 上安装 dlib 时遇到错误 pip3 install dlib 我已经安装了CMake 所以这不是问题 我收到这些错误消息 Failed building wheel for dlib a
  • 为什么 Objective-C 数组参数不使用冒号表示法?

    我目前正在从大牧场指南书中学习一些 Objective C 我的理解是 具有多个参数的方法使用冒号来分隔每个参数 但是在阅读有关创建数组的内容时 我发现了以下代码片段 NSArray dateList NSArray arrayWithOb
  • 没有编辑菜单的对话框中的 Cocoa 键盘快捷键

    我有一个LSUIElement显示菜单栏状态项的应用程序 应用程序可以显示包含文本字段的对话窗口 如果用户右键单击 按住 Control 键单击文本字段 则会出现一个菜单 允许剪切 复制 粘贴等 但是 标准 Command X Comman
  • 不支持使用 JDK 版本“11.0.1”进行构建。请安装 JDK 版本 `1.8.0`

    我已经下载了 Visual Studio for Mac 并尝试开始学习 Xamarin iOS 和 Android 问题是当我尝试运行 android 项目时出现以下错误 Building with JDK Version 11 0 1
  • brew install - 权限被拒绝(在 chown -R `whoami` 之后)

    brew install fontconfig Error Permission denied Library Caches Homebrew Formula fontconfig brewing sudo chown R whoami u

随机推荐