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

为什么在NSAttributedString不同意的情况下,第二个文本块的行高比第一个文本块高得多?

在NSAttributedString不同意的情况下,第二个文本块的行高比第一个文本块高得多的原因可能有以下几个方面:

  1. 字体大小不同:第二个文本块的字体大小可能比第一个文本块大,导致行高也相应增加。行高通常与字体大小成正比关系。
  2. 字体样式不同:第二个文本块的字体样式(如粗体、斜体等)可能与第一个文本块不同,不同的字体样式可能会影响行高。
  3. 行间距设置不同:在NSAttributedString中,可以通过设置行间距来调整文本的行高。第二个文本块可能设置了较大的行间距,导致行高增加。
  4. 文本内容不同:第二个文本块的内容可能比第一个文本块更多,导致需要更大的行高来容纳更多的文本。
  5. 文本对齐方式不同:第二个文本块的对齐方式可能与第一个文本块不同,不同的对齐方式可能会影响行高。

针对这个问题,可以通过调整字体大小、字体样式、行间距等属性来控制文本的行高。具体的实现方式可以参考相关的文档和教程。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云字体库:提供了丰富的字体资源,可以根据需求选择适合的字体样式。产品介绍链接
  • 腾讯云移动推送:提供了消息推送服务,可以用于向移动设备发送通知消息。产品介绍链接
  • 腾讯云内容分发网络(CDN):提供了全球加速的内容分发服务,可以提高网站的访问速度和稳定性。产品介绍链接
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

关于 lineHeight 如果你只关心 iOS 设备上文本展示效果,那么看到这里就已经够了。但是我需要是 iOS 和 Android 展现出一模一样效果,所以光有行间距是不能满足需求。...这时候我们可以通过设置 lineHeight 来使得每一文本高度一致,lineHeight 设置为 30pt 情况下,一文本高度一定是 30pt,两行文本高度一定是 60pt。... debug 模式下确认了下文本高度的确正确,但是为什么文字都显示底呢? 修正行增加后文字位置 修正文字在行中展示位置,我们可以用 baselineOffset 属性来搞定。...和行间距同时使用时一个问题 不得不说和行间距我们都已经可以完美的实现了,但是我尝试同时使用它们时,发现了 iOS 一个 bug(当然也可能是一个 feature,毕竟不 crash 都不一定是...好在我们通常是和行间距针对不同需求分别独立使用,它们分开使用时不会触发这个问题。所以 VirtualView-iOS 库中,我暂且将高度计算逻辑保持和系统一致了。

3.8K30

【IOS开发基础系列】UITextView专题

,用于计算文本绘制时占据矩形。         ...最终,该对象包含信息将用于文本绘制。该参数可为 nil 。 返回值         一个矩形,大小等于文本绘制完将占据宽和。 讨论         可以使用该方法计算文本绘制所需空间。...size 参数是一个constraint,用于绘制文本时作为参考。但是,如果绘制完整个文本需要更大空间,则返回矩形大小可能 size更大。...一般,绘制时会采用constraint 提供宽度,但高度则会根据需要而定。 特殊情况         为了计算文本大小,该方法采用默认基线。...NSStringDrawingUsesFontLeading:         计算时使用行距。

30040

《CSS 世界》读书笔记-流与宽

这里需要注意一下级元素基本特征:一个水平流上只能单独显示一个元素,多个级元素则换行显示。 除此之外,级元素还有可以控制高度、、以及宽度默认为包含该级容器 100%。...比如 、、 都是常见内联元素。内联元素最大特点就是:可以和文字显示,除此之外,它及外边距和内边距不可改变。...之前讨论级元素和内联元素,当我们在谈论它们是还是换行显示时,实际上是谈论外在盒子。而内在盒子实际是负责了元素和内容。...: 20px; } 此时其实布局已经发生了变化: 未加上 padding 之前,这个 div 是 102px,加上 padding 后变成了 142px,之前大了 40px,显然布局很容易出问题...但是,   height 已经变成了 200px,而第二个子元素又会变成 200px。如此反复形成了逻辑上死循环,然而这种说法是错误

1.2K20

【API使用系列】Core Text专题

方形字(Block):这种字体笔画使字符看起来比无衬线字更显眼,但还不到常见衬线字程度。例如Lubalin Graph就是方形字,这种字看起来好像是木头一样。...kCTLineBreakByTruncatingMiddle = 5 //中显示段文字前面和后面文字,中间文字使用...代替。...因为Quartz绘制文本上有一些限制。让我们再来比较一下两种方法区别。...如果对你应用而言,使用MacRoman文本编码已经足够的话,可以使用CGContextSelectFont函数。绘制文本时,调用CGContextShowTextAtPoint函数。...原因就在于,文本字节映射为字体符号时,需要指定一个文本编码,默认文本编码是kCGEncodingFontSpecific,当你调用CGContextShowTextAtPoint时,不能保证一定会获得一个文本编码

77330

Reformer: 高效Transformer

语言领域,长短时记忆(LSTM)神经网络覆盖了足够上下文来逐句翻译。在这种情况下,上下文窗口(翻译过程中需要考虑数据范围),从几十个词到大约 100 个词不等。...注意力机制问题 当将 Transformer 模型应用于非常大文本序列时,第一个挑战是如何处理注意力层。...一个网络单层通常需要几 GB 内存,并且通常适用于一个 GPU,所以即使是一个具有长序列模型只有一层情况下也是可以执行。... Reformer 中实现第二个新方法是反向传播期间按需重新计算每个层输入,而不是将其存储在内存中。...由于 Reformer 具有如此效率,它可以直接应用于上下文窗口几乎所有当前最先进文本域数据集大得多数据。也许 Reformer 处理如此大数据集能力将刺激社区创建它们。

1.1K10

CSS快速入门(三)

在这种情况下,有些图像可能会跳出盒子外 contain — 浏览器将使图像大小适合盒子内。在这种情况下,如果图像长宽与盒子长宽不同,则可能在图像任何一边或顶部和底部出现间隙。...可以使用两个长度或百分比作为值,第一个值定义水平半径,第二个值定义垂直半径。...很多情况下,您将只传递一个值,这两个值都将使用; 圆形 /*宽相等*/ div{ height: 100px; width: 100px;...这两种盒子会在页面流(page flow)和元素之间关系方面表现出不同行为: 一个被定义成块级(block)盒子会表现出以下行为: 盒子会在内联方向上扩展并占据父容器该方向上所有可用空间,绝大数情况下意味着盒子会和父容器一样宽...} 外边距:标签之间距离 margin简写 margin:0px; /*上下左右都一致*/ margin:10px 10px; /*第一个控制上下 第二个控制左右*/ margin

1.3K20

HTML+CSS高级

;      1、特征:                1.1     级元素显示     (得到内联元素属性)           1.2     内联元素支持宽     (得到属性)...3.1.1     原因:两个都是div,如果不浮动则占据一竖着排列,给第一个div设置左浮动,则该div脱离文档流并且不占位置且层级,此时第二个div会被第一个div覆盖住                ...第二个div用margin-left设置,让其视觉上不被遮挡           3.2      当浮动元素相邻下一个级元素包含文本内容时,浮动元素没有覆盖文本,而是浮动文本左边                ...3.1.1     原因:两个都是div,如果不浮动则占据一竖着排列,给第一个div设置左浮动,则该div脱离文档流并且不占位置且层级,此时第二个div会被第一个div覆盖住                ...第二个div用margin-left设置,让其视觉上不被遮挡           3.2      当浮动元素相邻下一个级元素包含文本内容时,浮动元素没有覆盖文本,而是浮动文本左边

5.8K61

文本属性

正常显示:这是段正常显示字体 文本属性     1.文本颜色         color:颜色值; p{ color: pink; }   </head...表示 水平阴影 垂直阴影 模糊距离 模糊颜色*/ }   注意:text-shadow(文本阴影):第一个值表示水平阴影 第二个垂直 第三模糊距离第四个模糊像素 常用取值:0 0 模糊距离 模糊颜色。...6.         line-height:值;         当元素高度一致时候,          文字垂直居中 div{ width:800px; height:320px;...background-color: orange; border: 1px solid purple; line-height:320px;/*当和元素高一致时,元素内文字将居中显示 其他将会显示元素之外...line-height取值表示元素一个宽度满之后,换行后与前一距离*/ } 和元素一致结果图像 ? 作用效果: ?

49840

你不知道Mac屏幕显示图像

最简单情况下,帧缓冲区只有一个,这时帧缓冲区读取和刷新都都会有比较大效率问题。为了解决效率问题,显示系统通常会引入两个缓冲区,即双缓冲机制。...在这种情况下,GPU 会预先渲染好一帧放入一个缓冲区内,让视频控制器读取,当下一帧渲染好后,GPU 会直接把视频控制器指针指向第二个缓冲器。如此一来效率会有很大提升。...文本计算 如果一个界面中包含大量文本(比如微博微信朋友圈等),文本计算会占用很大一部分资源,并且不可避免。...如果你对文本显示没有特殊要求,可以参考下 UILabel 内部实现方式:用 [NSAttributedString boundingRectWithSize:options:context:] 来计算文本...,用 -[NSAttributedString drawWithRect:options:context:] 来绘制文本

2K70

掌握这些CSS知识点,Coding如飞!

一、width(宽)& height() 浏览器中,明确了width和height就可以绘制出一矩形区域,也决定(量化)了当前HTML标签渲染后屏幕上占据有效矩形面积。...元素分为级元素和级元素,级元素margin和padding上下值无效。...2.1 百分单位计算 自己之前一直有个误区,认为padding、margin百分单位计算基数是当前元素矩形区域宽来算,但是根据包含规则,他们计算基数应该是包含width值。...border-*-radius属性两个长度或百分比值定义了四分之一椭圆半径,该半径定义了外边界边角形状(参见下图)。第一个值为水平半径,第二个为垂直半径。如果省略第二个值,则从第一个复制。...line-height高度,line-height规定最小高度 line-height是相对单位时,line-height具有继承性,其子元素如果没有设置line-height,那么子元素为父元素计算所得

97220

iOS开发小技巧:根据文本,字体,计算UILabel高度及宽度

调用示例: 场景:一个UITableViewCell中,重写Cell一个模型属性setter方法,需要先对UILabel对象text属性赋值后,再进行更新布局约束操作。...,用于计算文本绘制时占据矩形。...options: 文本绘制时附加选项。可能取值请参考“NSStringDrawingOptions”。 attributes: 文本绘制时用到AttributedString属性。...最终,该对象包含信息将用于文本绘制。该参数一般为 nil 。 返回值: 一个矩形,大小等于文本绘制完将占据宽和。 练习题:封装一个根据字体,字符串,宽度等参数得到高度方法?...image.png 其中 NSAttributedString Calculates and returns bounding rectangle for the receiver drawn using

5.1K10

前端面试题-行内元素和级元素

一、行内元素 一个行内元素只占据它对应标签边框所包含空间。 二、级元素 级元素占据其父元素(容器)整个空间,因此创建了一个“”。通常浏览器会在级元素前后另起一个新。...五、行内元素特点 5.1 和其他元素都在同一上 5.2 及外边距和内边距不可改变 5.3 宽度就是它文字或图片宽度,不可改变 5.4 行内元素只能容纳文本或者其他行内元素 5.5 设置行内元素...六、级元素特点 6.1 总是新一开始 6.2 高度,以及外边距和内边距都可改变 6.3 若宽度没有设置,则默认宽度为容器100%,除非设定一个宽度 6.4 级元素可以容纳行内元素和其他级元素...(2)而级元素可以包含行内元素和其他级元素。这种结构上包含继承区别可以使级元素创建行内元素更”大型“结构。 7.2 格式 默认情况下,行内元素不会以新开始,而级元素会新起一。...cite 引用 code 计算机代码(引用源码时候需要) dfn 定义字段 em 强调 font 字体设定(不推荐) i 斜体 img 图片 input 输入框 kbd 定义键盘文本 label 表格标签

1K30

关于 vertical-align 你应该知道一切

我们对于它直观定义是与 text-align:center 相类似,一个控制水平方向对齐方式,一个控制垂直方向对齐方式。但是很多情况下,我们发现设置属性之后并没生效。.../) (line-height):两行文字基线之间距离 内联盒子,更深入理解可以参考《CSS盒子模型》(https://segmentfault.com/a/1190000014692461)...如上图所示,第一个元素基线是子元素”文本基线,而第二个是盒子底边缘,默认基线对齐,两个元素基线位置不一致,所有会产生上图现象,知道了原因,我们只需设置元素 vertical-align 属性为...Demo 1:任意一个级元素,里面若有图片,则级元素高度基本上都要比图片高度 <img src="....我们会惊喜<em>的</em>发现这个现象就是上面所说<em>的</em>任意一个<em>块</em>级元素,里面若有图片,则<em>块</em>级元素高度基本上都要比图片<em>的</em>高度<em>高</em>问题,那么产生<em>的</em>原因就知道了,是 line-height 与 vertical-align

2.5K20

「学习笔记」CSS基础

line-height常用属性值单位有三种,分别为像素px,相对值em和百分%,实际工作中使用最多是像素px 一般情况下,行距字号大7--8像素左右就可以了。...line-height: 24px; 测量 测量方法: 测量方法我们利用最多一个地方是:可以让单行文本盒子中垂直居中对齐。 文字高等于盒子高度。...与高度三种关系 如果 等 高度 文字会 垂直居中 如果 大于 高度 文字会 偏下 如果高小于高度 文字会 偏上 /*line-height 要设置font属性下面,否则无效,例如:*...行内元素特点 和相邻行内元素(行内)上,但是之间会有空白风险。一可以显示多个 默认宽度就是它本身内容宽度。 高度,,外边距以及内边距都可以控制。...三个值: 第一个值为左上角, 第二个值为右上角和左下角,第三个值为右下角 两个值: 第一个值为左上角与右下角,第二个值为右上角与左下角 一个值:四个圆角值相同 盒子阴影(box-shadow): box-shadow

3.2K30

Swift 小仿微博列表

这个示例主要内容有三个方面:     一、UITextView富文本实现     二、图片转场和浏览动画     三、界面流畅度优化 ? 富文本点击效果 ?...图集浏览效果 一、UITextView富文本实现 标题文本显示样式我是参考微博:@用户昵称、#话题#、图标+描述、[表情]、全文:限制显示字数,点击链接跳转或查看图片 比如第一条数据标题原始字符串为...你真的太帅了 查看图片 // @且且珍惜iOS: 发起了话题#我是一只帅哥#不信点我看看 查看图片 , 相信我,不会让你失望滴O(∩∩)O哈!...NSRange,进而导致另一个匹配项Range处理字符串时出现越界崩溃问题!...三、界面流畅度优化 网上关于界面流畅度优化好文章还是挺多,我在这里只记录下本文示例中用到部分优化策略,基本上FPS60左右, 详情可以看代码: 1、cell高度异步计算和缓存 2、富文本异步正则匹配和结果缓存

1.3K30

一点点css基础原理总结0.前言1.包含(CB)2.宽和3.BFC4.行内元素5. 垂直方向margin6.盒子模型

,它包含是祖先元素中最近一个非static 其他情况下包含由祖先节点padding edge组成 ?...比如一个div,直接设置100%,他是0,但是你用一个已知高度div包住他,这时候他百分就有用了。 auto、百分,都由CB(包含)决定 ?...,IFC是默认地、隐式创建,当一个区域内仅仅包含水平排列元素才生成(文本级元素、元素),可以通过vertical-align来设置垂直方向上对齐。...父为table-cell时候,可以利用vertical-align控制内部子元素垂直居中(无论级元素还是级元素) 对于级包含文本,比如p标签嵌套一些文字情况,默认是normal。...其实,响应式情况下,比如50%宽,10pxpadding, ie盒子w3c盒子更好了 ie: ? W3C: ?

69720

【CSS】CSS 总结 ② ( CSS 字体文本样式 - 大小 字体 粗细 斜体 颜色 对齐 | CSS 标签显示模式 - 级元素 行内元素 行内元素 ) ★

; line-height 属性 取值 : 像素 px : 最常用单位 , 一般情况设置 字号大 7.8 px ; 文字默认 16 px , 为 24 px 即可 ; 相对值...em ; 百分 ; line-height: 24px; 文本垂直居中 : 设置 = 高度 样式 , 文本即可在 盒子模型 中 垂直居中 ; div { height: 200px;...: 中 , 可以 设置显示多个 行内元素 ; 宽无效 : 行内元素 设置是 无效 , 以 子内容 大小来确定 ; 默认宽度 : 行内元素 宽度 是 其本身 宽度 ;...容器特性 : 行内元素 作为 容器 , 只能 存放 文本 或 行内元素 , 不能存放 级元素 ; 3、行内元素 行内元素 标签 是 特殊标签 , 可以内显示多个 , 但是同时也可以为其设置...: 显示样式 : 行内元素 默认 都在一中显示 , 每个元素之间会自动添加间隔 ; 宽设置 : 行内元素 默认宽 是 元素本身 , 但是也可以设置宽 ; 样式设置 : 行内元素

15010

一点点css基础原理总结

,它包含是祖先元素中最近一个非static 其他情况下包含由祖先节点padding edge组成 对于margin需要注意了:margin-top和margin-bottom百分也是相对于父元素...auto、百分,都由CB(包含)决定 这样子,我们也可以知道为什么margin auto能居中了: 首先,先要知道宽,既然已经知道了宽,那margin就可以被反推出来值是多少,auto会平分剩下...,IFC是默认地、隐式创建,当一个区域内仅仅包含水平排列元素才生成(文本级元素、元素),可以通过vertical-align来设置垂直方向上对齐。...父为table-cell时候,可以利用vertical-align控制内部子元素垂直居中(无论级元素还是级元素) 对于级包含文本,比如p标签嵌套一些文字情况,默认是normal。...其实,响应式情况下,比如50%宽,10pxpadding, ie盒子w3c盒子更好了 ie: W3C: calc需要计算,所以性能上就稍微差了一点 现在bootstrap也是用ie盒子了

63310

CSS 基础

:bolder; /*更粗*/ line-height ,设置行间距离,一般设置成 1.2 或 1.5 line-height:1.2; line-height:1.5; 字符大小为 12 px...,则为字符高度 1.5 倍 font-size: 12px; line-height: 1.5; <!...,该属性只给元素设置,元素设置没效果,该属性值为 center / left / right,可以设置元素里面文本和图片对齐方式 text-indent 属性,规定文本中首行文本缩进 p...{ text-indent:50px; } //将段落第一缩进50像素 line-height 属性,设置行间距离(),可以设置单行文本竖直居中 line-height: 90%...-- 元素可以通过元素嵌套来达到文本水平对齐方式 --> 富强民主文明和谐,自由平等公证法制,爱国敬业诚信友善; 富强民主文明和谐,自由平等公证法制

3.2K40

2018年9月9日用HTML开发网页总结

: 背景定位属性,有两个属性值,第一个代表距左边,第二个代表距上边。...inline,标签; inline-block,行内标签; block,标签; div: 盒子 中划线和下滑线:  python中变量命名一般采用下划线,HTML中命名规范一般采用中划线...是让字体左右居中,让字体上下居中是设置一下,line-height. margin-top 下边会变吗?...如果字用span标签一直底部无法调到上边,可以给字一个div,让字成为一个盒子。或者设这个字标签属性为行内属性或者是属性就可以进行调节。...span是标签 img是行内标签 h3是标签 遇到无法调节大小问题就修改它标签属性。

1.1K60
领券