首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NSAttributedString无法显示正确的字体

NSAttributedString是iOS开发中用于富文本显示的类,它可以用来设置文本的样式、字体、颜色等属性。然而,有时候在使用NSAttributedString时可能会遇到无法显示正确字体的问题。

造成NSAttributedString无法显示正确字体的原因可能有以下几种:

  1. 字体不存在:如果指定的字体在设备上不存在,NSAttributedString将无法显示正确的字体。在使用NSAttributedString时,应确保所使用的字体在设备上是可用的。
  2. 字体名称错误:在指定字体时,需要使用正确的字体名称。iOS系统中的字体名称是固定的,如果使用错误的字体名称,NSAttributedString将无法找到对应的字体。
  3. 字体属性设置错误:在创建NSAttributedString时,需要正确设置字体属性。如果字体属性设置错误,例如指定了错误的字体大小、颜色等,NSAttributedString可能无法正确显示字体。

针对NSAttributedString无法显示正确字体的问题,可以采取以下解决方法:

  1. 检查字体是否存在:可以使用UIFont类的类方法fontNamesForFamilyName:来获取指定字体家族下的所有字体名称,然后检查所需字体是否在列表中。如果字体不存在,可以尝试使用其他可用的字体替代。
  2. 使用正确的字体名称:确保在指定字体时使用正确的字体名称。可以通过使用UIFont类的类方法familyNames获取所有可用的字体家族名称,然后再根据家族名称使用fontNamesForFamilyName:获取该家族下的所有字体名称。
  3. 检查字体属性设置:仔细检查在创建NSAttributedString时所设置的字体属性,确保字体大小、颜色等属性设置正确。

总结一下,当NSAttributedString无法显示正确字体时,需要检查字体是否存在、使用正确的字体名称以及正确设置字体属性。如果问题仍然存在,可以尝试使用其他可用的字体替代。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

解决图像数学运算后无法正确显示的问题

最近用的OpenCV python3 开发场景识别的应用,遇到了在图像进行数学逻辑运算后无法真确显示的问题,问题代码如下: out = 1*((img[:,:,2]>img[:,:,1])&(img[:...ord("q")): #cv2.imwrite("test/chess_deal.png", out*255) break cv2.destroyAllWindows() 显示输出...out输出图片的形状与数据都没有问题,可就是无法正确显示。...最后通过一个语句发现到了问题所在: print(out.dtype) 输出结果为: int64 发现原因所在,由于OpenCV处理数据需要uint8类型,图像进行数学逻辑运算时,被转换成了int64,如果想OpenCV正确显示...由于锥状体对红、绿、蓝三种 颜色的光很敏感,因此一般用于人眼观看的颜色模型是RGB模型。一般来说,无论是在网上下载的图片或视频,还是从摄像机得来的录像,都是RGB 模型。

1.3K20
  • Git示例教程 - 有关Git命令无法正确显示中文路径的问题

    相关命令: # 设置Git让其在输出路径时正确显示中文 git config --global core.quotePath false # 如果是Mac用户,在执行了上述命令后还是不行 # 可以再看下...Git的 core.precomposeUnicode 这个参数 情景模拟: 先用下面的命令创建一个测试用的Git仓库: # 创建一个空的Git仓库 mkdir repo cd repo git init...will be committed) "\344\270\255\346\226\207\346\226\207\344\273\266\345\220\215.txt" ‍ 由上可见,我们新添加的文件并没有以中文正确显示...下面我们再执行下文章开始时介绍的命令设置一下Git: $ git config --global core.quotePath false # 设置Git让其正确显示中文路径 $ git status...) 中文文件名.txt 看到了吧,在我们设置了Git的 core.quotePath 参数后,中文路径就可以正常显示了。

    1.9K20

    WPF 加载诡异的字体无法布局

    如果在系统里面存在诡异的字体,同时自己的 WPF 中有一个控件尝试使用这个字体放在界面中,那么将会在界面布局过程炸了,整个控件或者整个界面布局都无法继续 本文本来是由吕水大大发布的,但是他没空写,于是我就成为了写博客的工具人...有一个用户报告了软件在他的电脑上打不开列出本机字体列表,于是吕水大大就去远程他的设备,在用户的设备上找到了一个诡异的字体,加载这个字体的时候,将会在 MS.Internal.Text.TextInterface.Font.CreateFontFace...而且有趣的是 Win10 的 UWP 版的设置里面是找不到这个字体的,原因是 UWP 版本也会在读取此字体的时候炸了 复现的步骤如下,先从 https://github.com/walterlv/Walterlv.Demo.WpfBadFontCrash...下载代码,在代码仓库里面可以找到 不给糖就捣蛋的万圣节.TTF 这个字体,值得一说的是,诡异的字体有很多,这个字体只是一个例子。...,可以看到的代码如下 - Exception {"指示输入文件 (例如字体文件) 中的错误。

    1.3K50

    富文本AttributedString的总结

    NSAttributedStringKey.font : UIFont.systemFont(ofSize: 16) //设置字体的颜色 NSAttributedStringKey.foregroundColor...NSExpansionAttributeName 设置字体的横向拉伸,取值为NSNumber (float),正值拉伸 ,负值压缩 */ NSString *str13 = @"设置字体横向拉伸...self.view addSubview:label]; OC使用之超链接 之所以把 NSLinkAttributeName 属性单独列出来,是因为在 UILabel 和 UITextField 中是无法使用该属性的...更准确点说是在UILabel 和 UITextField 中无法实现点击链接启动浏览器打开一个URL地址,因为在此过程中用到了一个代理函数。只能用在 UITextView 中。...在模拟器环境下一直无法点击,在真机上是正常的,不知道是不是模拟器不支持。 OC代码 原文地址

    3.4K20

    Google广告显示不正确的问题

    响应式广告单元 互联网从业人员相比对于Google Adsense应该非常熟悉,它就像我们生活中常见的楼宇电梯电视广告一样,是互联网上的一种广告类型。每个网站通过安装一块电视,定期的向用户播放广告。...只不过Google的这块电视,能够根据网站的内容、用户的访问行为等一系列大数据为每个用户投放最感兴趣的内容。...在做决定时,最重要的就是广告的尺寸,因为合适的广告尺寸对用户来说更有吸引力,也能通过展示获得更多的点击。 对于布局尺寸固定的网站,确定一个最好的尺寸比较容易。...问题现象 如果有需求要求在PC版上显示广告,而在移动版上隐藏广告内容,这就会与Google Adsense的要求冲突,因为在服务条例中不允许对广告单元使用display:none或者使用其他的HTML元素...官方方案 为满足上面的需求,Google Adsense允许通过CSS3的media queries来对广告单元做特定的修改,具体要求如下: 不能使用响应式广告控制的特性,例如需要移除广告代码中的data-ad-format

    3.1K31

    在iOS中如何正确的实现行间距与行高

    但是 UILabel 是没有这么一个直接暴露的属性的,想要修改 lineSpacing,我们需要借助 NSAttributedString 来实现,示意代码: NSMutableParagraphStyle...正确的实现行间距 先看示意图: ? 红色区域是默认绘制单行文本会占用的区域,可以看到文字的上下是有一些留白的(蓝色和红色重叠的部分)。...答案是 label.font.lineHeight,它是使用指定字体绘制单行文本的原始行高。...左侧是 iOS 设备,右侧 Android 设备,可以看到同样是显示 20 号的字体,安卓的行高会偏高一些。在不同的 Android 设备上使用的字体不一样,可能还会出现更多的差别。...在 debug 模式下确认了下文本的高度的确正确的,但是为什么文字都显示在了行底呢? 修正行高增加后文字的位置 修正文字在行中展示的位置,我们可以用 baselineOffset 属性来搞定。

    4.4K30

    Swift 3.0 探索之 UILabel

    : 100, width: 180, height: 50) //设置frame myLabel.textAlignment = NSTextAlignment.center //设置字体居中显示...: 2.0, height: 2.0) //设置阴影偏移量 设置 lineBreakMode(如果字体显示不开,采取的显示方式) myLabel.lineBreakMode = NSLineBreakMode.byTruncatingTail...//隐藏尾部并显示省略号 myLabel.lineBreakMode = NSLineBreakMode.byTruncatingMiddle //隐藏中间部分并显示省略号...= NSLineBreakMode.byClipping //截去多余部分也不显示省略号 设置 adjustsFontSizeToFitWidth 需要注意的是 当设置 adjustsFontSizeToFitWidth...�图1 NSAttributedString 富文本 我们还经常使用 Label 的一个属性是NSAttributedString 我们看一下这个在Swift里面怎么使用 ****当设置NSAttributedString

    81530

    关于 ElementPlus 样式无法加载完全以及 icon 无法显示的问题

    样式无法加载完全问题问题记录代码中使用了 el-input,但是 el-input 未加载完全,仅显示普通未渲染的输入框。...prefix-icon="el-icon-search" style="width:100%"> 问题解决引入 element-plus 的...element-plus/dist/index.css' // 引入样式createApp(App).use(Router).use(ElementUI).mount('#app')el-input 正常显示...icon 无法显示的问题问题随记在最新版的 ElementUI 中,使用 el-input 标签并添加 prefix-icon 属性,但是图标并未显示,试了好多方法,终于找到了解决办法。...问题解决在官方文档中,可以使用下面代码来注册 ElementPlus 中的所有 icon 并应用到全局import * as ElementPlusIconsVue from '@element-plus

    74010

    EasyGBS出现密码正确但无法登录的情况分析

    随着现在新内核的EasyGBS、EasyNVR以及EasyCVR的使用场景越来越广泛,这些平台也被运用在大小不同的很多实际项目中。...在功能上,基本都能满足大部分用户的需求,也有少部分项目需要进行功能的定制。 有的时候有用户可能会遇到EasyGBS在正常运行,但是密码输入正确却无法登录页面的情况。...这种情况我们之前进行过简单的分析,一般会有两个原因,这里我们把两个原因总结和大家讲一下。...image.png 1.服务器存储空间满了 这种情况Windows的比较常见,在linux里就用df -h命令去看,如果存储空间满了就会出现登录不了的情况: image.png 2.磁盘读写 如果用户服务器的磁盘读写不够了也会出现登录不了平台的情况...如果出现了100%的话就是磁盘读写占满了,会出现登录不进去的情况。 image.png

    1.2K10

    使用 webfontloader 优化加载字体在网页中的显示体验

    继上篇文章网页字体文件最后再加载实现方法,后写的一篇优化加载字体在网页中的显示体验。...上一篇文章的第一种方法,我在使用后,发现网页主体中的文字显示会延迟一段时间再加载,于是为了改进,又上网搜索相关内容,得出了本篇文章,优化方案。...,否则就先使用默认字体,这样就可以在不影响用户阅读的情况下也可以加载字体,用户体验相对较好。...}, inactive: function() { // 字体加载失败后执行的回调函数 } }); 一个项目中的使用示例: 将样式创建好,然后使用webfontloader进行监听加载...//最后加载字体,防止网页加载速度 // 创建一个新的标签 var style = document.createElement('style');

    73230
    领券