CATextLayer字体边框颜色?

2023-12-26

我希望我的文本周围有白色边框。我使用 CATextLayer 作为文本。我知道 CATextLayer 没有属性 borderColor/borderWidth。当然,我可以使用其超类(CALayer)的属性,但随后它会在图层框架周围绘制边框,而不是在文本本身周围绘制边框。有谁知道我如何使用 CATextLayer 实现这一点?


以防万一有人对我的解决方案感兴趣:

基本上可以在不直接使用 CoreText 的情况下制作带有笔划(边框)的文本。 CATextLayer 的字符串属性接受 NSAttributedStrings。因此,就像在其属性中给出一个带有描边颜色和描边宽度的 NSAttributedString 一样简单。

不幸的是我需要对字体大小进行动画处理。 string 属性是可动画的,但前提是它是 NSString。所以我决定对 CATextLayer 进行子类化。经过多次尝试,我意识到 CATextLayer 的字符串和内容属性是互斥的,这意味着要么显示字符串,要么显示内容。我自己不知道如何绘制字符串。仅当更新内容时才会调用 display 和 drawInContext:ctx 方法,但我不知道更新字符串时需要调用什么。

所以我决定编写自己的 CATextLayer 类,子类化 CALayer。我创建了一个名为 fontSize 的可动画属性。当这个动画被激活时,drawInContext:ctx 方法被调用。在 drawInContext:ctx 方法中,我使用 CoreText 创建一个新字符串,并使用 fontSize 属性相应地更新其大小。

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

CATextLayer字体边框颜色? 的相关文章

  • iOS wifi扫描、信号强度

    据我所知 不可能扫描范围内的热点并读取它们的 bssid 和信号强度 这在 iOS 4 上可以通过使用私有 API 实现 但在不越狱的 iOS 5 上则不再可能 即使可能 该应用程序也会在 App Store 上被拒绝 是对的吗 一家拥有室
  • 如何创建凸起的标签栏项目,就像 Instagram 中的那样?

    如何在 UITabBar 中创建凸起项目 例如 Instagram 有这样的 我如何在我的应用程序中实现类似的目标 iDevRecipes 最近发布了有关如何重新创建这一内容的文章 尽管它不是由 Instagram 的开发人员编写的 查看这
  • 我怎样才能完成笛卡尔积函数的 Objective-C 实现?

    作为我的问题的后续here https stackoverflow com questions 8176719 algorithm generating all combinations from items that must be ch
  • 如果我在新证书上续订我的配置文件(企业分发方法),我的应用程序是否会停止?

    我有一个通过企业分发方法发布的应用程序 分发证书将在一个月后过期 因此我创建了一个新证书 此外 我还根据具有相同捆绑 ID 和应用 ID 的新证书更新了配置文件 旧的配置文件将像旧证书一样在 1 个月后过期 我的应用程序是通过此配置文件和证
  • 从电话号码确定国际电话代码的算法

    我可以使用 iOS 上的地址簿框架从设备中检索联系人的电话号码 如何区分或识别哪个是国家 地区代码 哪个是实际电话号码 是否可以 国家 地区代码是一个相当混乱的主题 但足够标准 通过一些程序员维护就可以解决它 您可以通过其初始子序列来识别国
  • iOS 版 Google 地图 SDK 中的热图

    有没有办法添加热图图层适用于 iOS 的 Google 地图 SDK https developers google com maps documentation ios 注意 我指的是存在于Javascript 版本的 Google 地图
  • iOS 7 中的自定义后退指示器图像未垂直居中

    我使用以下代码在我的 iOS 7 应用程序中为后退指示器使用自定义图像 UIImage temp UIImage imageNamed back black on black normal 2 imageWithRenderingMode
  • iOS 上的内存交换和虚拟内存 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 Does iOS支持像Linux一样自动运行的内存交换和虚拟内存吗 iOS有虚拟内存 但没有后备存储 因此没有交换内存的调入 调出 A
  • 从iOS iphone中相机返回的图像中读取GPS数据

    我需要获取使用 iOS 设备相机拍摄的图像的 GPS 坐标 我不关心相机胶卷图像 只关心使用 UIImagePickerController SourceType Camera 拍摄的图像 我读过很多 stackoverflow 答案 比如
  • 如何显示启动图像

    我是 iOS 新手 我的 Xcode 版本是 7 2 1 我尝试使用 Swift 在 iOS9 上运行 我的问题是我对如何创建启动屏幕图像感到非常困惑 我发现有很多方法可以为不同版本的 iOS 创建启动屏幕图像 有人可以向我解释一下如何设置
  • iPad 3 renderInContext 缓慢 - 渲染性能不佳

    我试图从用户可以绘画的视图中获取图像 或添加一些其他视图 到目前为止 iPad1 和 2 一切正常 但在 iPad3 上它却像狗一样跑起来 我只是使用图层 renderInContext 方法 if UIScreen mainScreen
  • Corebluetooth 方法 scanForPeripheralsWithServices 在任何设备中都不适用于我。所有 github 示例均不适用于我的设备 ipod touch

    我正在开发蓝牙相关的应用程序 但我没有取得任何成功 在我的应用程序中 我想将我的 iDevice 与任何其他正在扫描的蓝牙设备连接 但使用 CBCentralManager 方法 scanForPeripheralsWithServices
  • 具有自定义视图的相机

    我的应用程序使用相机 我想在相机预览上添加叠加层 例如 我想在使用相机时使用相框 还想添加一个用于相机操作的自定义栏 请帮助我做同样的事情 您可能正在尝试使用 UIImagePickerController 但我知道这个可以解决你的问题 您
  • Xamarin Form - IOS:如何检测 UIView 大小已更改

    我使用 ContentView 创建了一个 Xamarin 表单 并为 Android 创建了一个渲染器 现在我必须为 IOS 创建一个渲染器 在 android 渲染器中 我可以重写 onSizeChanged 并将这些宽度 高度值传递给
  • 错误 ITMS-90596:“捆绑包无效。无法处理“Payload/ExpoKitApp.app/.bundle/Assets.car”处的资产目录。”

    问题摘要 我想向Apple App store TestFlight 提交一个应用程序 我正在使用 Transporter v1 1 提交应用程序 在提交过程中 我在 Transporter 中收到以下错误 请注意 我在此过程中没有使用 X
  • WKWebView 在 iOS 10 及以上版本中不加载 http 图像

    我正在加载一个https URL in WKWebView里面很少有图像来自HTTP启用后加载完美的 URLNSAllowsArbitraryLoads in info plist文件在 iOS 9 中 但在 iOS 10 及更高版本上它不
  • iPad 的自适应布局

    我正在关注这篇文章在 ios 中构建自适应布局为 iOS 8 构建自适应用户界面 http www sitepoint com building adaptive user interfaces ios 8 它在 iPhone 上运行良好
  • UIPopViewController 不工作

    我有一个 xib 文件 其中有 h 和 m 链接 在 xib 中有一个带有 textView 的 UIView 我想要对该视图执行的操作是 当您单击按钮时将其作为 UIPopViewController 打开 这是我的代码 IBAction
  • 如何使用 UIScrollView?

    我该如何使用UIScrollView 请给我一个带有一张滚动图像的简单示例 这将使您深入了解UIScrollView控制 学习 UIScrollView 的基础知识 https stackoverflow com questions 159
  • 类型铸造自我

    以下自我转换对 ClassA 有何作用 这种种姓可以让你进入ClassA吗 A h类 interface ClassA NSObject NSUInteger someNumber ClassB classB property nonato

随机推荐

  • Perl 6 的 shell() 使用哪个 shell?

    Perl 6 的shell https docs perl6 org routine shell向 shell 发送命令 但没有说明那是什么 我一直得到bash在我的机器上 但我不知道我是否可以信赖它 perl6 e shell Q ech
  • 返回对象的保留/释放

    我是 Objective C 的新手 所以这可能是一个愚蠢的问题 我不禁看到 ObjC 和 Microsoft 的 COM 在内存管理方面的相似之处 AddRef Release vs retain release 在 COM 环境中 或多
  • 从推送通知打开 Android 应用程序

    有一个小问题一直困扰着我 我已将应用程序设置为接收来自 Urban Airship 的推送通知 一切正常 但是当我点击通知中心中的通知时 没有任何反应 我希望我的应用程序在用户点击推送通知时打开 我该怎么做才能实现此目的 一如既往 我们非常
  • 在执行繁重的 JavaScript 处理时强制 HTML5 画布重绘?

    这个问题与这位较老的 https stackoverflow com questions 1209689 how can i force the browser to redraw while my script is doing some
  • SQL SELECT INSERT INTO 生成唯一 ID

    我试图选择一个数据表并将该数据插入到另一个具有相似列名的文件中 它本质上是重复的数据 当前语法如下 INSERT INTO TABLE1 id id2 col1 col2 SELECT similiarId similiarId2 simi
  • google-services.json 是否安全,不会受到黑客攻击?

    如果黑客反编译了我的 APK 他是否能够从此文件中看到我的 API 密钥 我不担心我的源代码存储库 我只是担心黑客能够以某种方式从我的 APK 中看到这个 API 密钥 我正在尝试加密该文件并在运行时解密它 但遇到一些问题 谷歌插件的设置方
  • 保持 MaxPermSize 小有什么好处吗?

    假设是 64 位 JVM 保持 MaxPermSize 小有什么显着的好处吗 这是在频繁重新部署且存在类加载器泄漏的 Java EE 应用程序的上下文中 作为中期解决方法 将 MaxPermSize 提高到一个荒谬的值似乎非常合理 只要它不
  • 删除具有上次修改日期条件的多个 s3 存储桶文件

    如何删除多个 S3 文件上一次更改日期条件 我在 s3 上有这个文件夹结构 dentca lab dev sample 2019 03 13 file1 最后修改时间 2019 年 3 月 13 日下午 2 34 06 GMT 0700 f
  • 单击 jqGrid 中的行获取列的值

    我在用Asp Net C 在我正在使用的页面之一中jqGrid显示用户列表Admin The jqGrid包含以下列 用户代码 名 中间名字 姓 Email 这是我的标记
  • Xamarin Forms - 图像传入/传出 IRandomAccessStreamReference

    为了个人的需要 为了Xamarin Forms Map控制 我需要创建一个CustomPin扩大 UWP部分 PCL项目 我创建一个MapIcon喜欢它 nativeMap MapElements Add new MapIcon Title
  • 从资源管理器获取所有字符串

    我需要编写一个程序 从 dll 读取所有字符串资源并将它们插入到某个表中 我有读取资源的方法 private static IEnumerable
  • Python Redis交互

    我想用 python 编写使用 redis 的应用程序 我用谷歌搜索 但找不到我的问题的任何结果 通常 我这样做 import redis rs redis Redis localhost 然后执行所有获取和设置 但是我可以在redis中做
  • 使用 GSON 的空字段的默认值

    我想为模型上的某些字段设置默认值 因此如果在反序列化期间我的 json 缺少字段 则会使用这些默认值 我想了解什么是执行此操作的最佳实践以及原因 我应该在模型的设置器中添加 null 控制 我应该使用 try catch 来查找任何情况 我
  • 如何使用 Dapper.SqlBuilder 和 OrWhere 构建动态 SQL 查询

    我正在尝试为多个搜索词构建动态 Sql 查询 我一般了解如何使用构建器 但不确定在循环中做什么 因为我实际上需要 term 每次都不同 我认为 不仅在查询中 而且在匿名类型中也进行匹配 我可以在查询字符串中使用 string Format
  • Jquery 点击触发器给出错误“超出最大调用堆栈大小”

    我知道我可能会得到很多反对票 但我不在乎 这样的废话让我发疯 这是我得到的 jq function attFile theFileInput trigger click html a href a
  • @Repository beans 的“持久性异常翻译”是什么

    我正在阅读带有注释部分的Spring 我遇到了 Repository注解我读到了 Repository豆类不同于 Componentbeans 是指它们有资格进行持久性异常转换 有人可以详细说明持久性异常翻译的含义吗 持久性异常转换是将低级
  • weblogic-maven-plugin 可以从 maven 中心存储库获取吗?

    当我运行我的 Maven 构建脚本时 我得到 Plugin com oracle weblogic weblogic maven plugin 2 9 1 or one of its dependencies could not be re
  • 如何通过 MYPY 环境变量或 mypy_path 变量指向 mypy 中的自定义存根目录

    我创建了一个存根文件 并将其按照建议放在原始文件的旁边 不过我得到missing library stubs or py typed marker错误 我尝试使用添加存根目录mypy path我的配置文件中的变量 仍然遇到同样的错误 有什么
  • intellij 未找到来自第三方存储库的 Maven 导入

    我的 pom xml 包括
  • CATextLayer字体边框颜色?

    我希望我的文本周围有白色边框 我使用 CATextLayer 作为文本 我知道 CATextLayer 没有属性 borderColor borderWidth 当然 我可以使用其超类 CALayer 的属性 但随后它会在图层框架周围绘制边