首页
学习
活动
专区
工具
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.2K20

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.8K20

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.2K20

Google广告显示正确问题

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

3K31

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

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

3.8K30

关于 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

14410

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

78930

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

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

1.2K10

fastjson:JavaBeanInfo无法正确解析setter方法问题分析

从上面的setValue返回值不是void可知这个写法不是标准java beansetter方法(标准java bean要求setter方法返回为void)。...fastjson是支持这种非标准setter方法。 实际测试过程中A实例可以正确序列化和返回序列化,但B实例在反序列化过程中没有对value字段进行解析,也就是说把value字段给丢了!...在本例中A,B中setValue方法返回类型为A,所以肯定不满足void,而这两个方法DeclaringClass都为B,所以也不满足第二个条件。...所以对于B而言父类中setValue方法以及自己类中重写setValue方法因为返回类型问题在这里都被fastjson判断为非setter方法给跳过了,所以后续反序列化过程中自然就没有value字段...把B类中setValue返回类型改为B就可以了。本来在这里返回类型为A就不太对,是我之前写错了。。

88630

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

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

50530
领券