首页 > 其他分享 >IOS开发-设置UILabel行间距lineSpacing

IOS开发-设置UILabel行间距lineSpacing

时间:2023-07-02 15:55:06浏览次数:36  
标签:style lineSpacing label2 IOS 行间距 UILabel attributes

1.如何设置UILabel行间距lineSpacing 

UILabel是没有这么一个直接暴露的属性的,想要修改lineSpacing,我们需要借助NSAttributedString来实现。

 NSMutableParagraphStyle *style = [NSMutableParagraphStyle new];
    style.lineSpacing  = 15;
    NSMutableDictionary *attributes  = [NSMutableDictionary dictionary];
    [attributes setObject:style forKey:NSParagraphStyleAttributeName];
    label2.attributedText = [[NSAttributedString alloc] initWithString:label2.text attributes:attributes];

这样即设置了UILabel的行间距为15pt,但实际上的间距是大于10的

效果图:

 

我们需要在设置lineSpacing时,减去系统的自带边距:label2.font.lineHeight

   style.lineSpacing  = 15-(label2.font.lineHeight - label2.font.pointSize);

加上这行代码即可。

效果:

这样即可完美的设置UILable的行间距了。

 

标签:style,lineSpacing,label2,IOS,行间距,UILabel,attributes
From: https://www.cnblogs.com/SadicZhou/p/17520867.html

相关文章

  • IOS开发-实现一个高度自适应的UILabel和一个宽度自适应的UILabel
    1.实现一个高度自适应的UILable思路:UILabel初始化之后,先不要设置他的宽度和高度,等到设置好text属性和font属性之后,根据text的长度以及font的大小来计算UILabel控件的高度//实现一个高度自适应的uilabelUILabel*label2=[[UILabelalloc]init];label2.text=@"xxx......
  • IOS下的微信H5页面的底部前进后退横栏如何隐藏
    header里增加<metaname="viewport"content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover"/>重点:viewport-fit=cover加上后向下滚动时自动隐藏前进后退横栏,一定程度上解决了遮挡底部的问题,向上滚动后又会出现......
  • axios 合并两个请求
      例子functiongetStaffList(){returnaxios.get('/api/staff');}functiondeptListGet(){returnaxios.get('/api/dept');}axios.all([getStaffList(),deptListGet()]).then(axios.spread(function(staffRes,deptRes){//两......
  • ios 隐私信息访问的许可描述
    相册读我们需要获取访问您设备相册的权限,以便您能够选择并上传图片或视频到我们的应用中。相册-写我们需要获取写入权限,以便我们能够将您通过应用程序拍摄的照片或视频保存到您的设备相册中。摄像头需要扫描二维码或拍照,是否允许打开相机?运行期访问位置如您同意提供位置信......
  • iOS分发证书过期或手动吊销,会影响App的下架吗?
    ​iOSdistribution发布证书过期或者被手动revoke了app会被下架吗? 在距离distribution证书过期一个月(或被手动revoke了)的时候会受到apple的邮件​编辑 虽然distribution过期(或者被手动revoke)了,如果你的开发者账号是company(公司)类型或个人类型的,只要你的每年99$的开发者me......
  • Vue3 使用 axios 实现跨域
    Vue3使用 axios可以实现请求跨域问题1.安装axiosnpminstallaxios-S2.引入axios并配置为全局 $axios 对象main.jsimport{createApp}from'vue'importAppfrom'./App.vue'importaxiosfrom'axios'//createApp(App).mount('#app')c......
  • Vue3 如何使用 axios
    在Vue3中集成和使用AxiosAxios是一个流行的JavaScript库,用于在浏览器和Node.js中进行HTTP请求。它提供了简洁的API,可以轻松地发送异步请求并处理响应数据。在Vue3中,我们可以使用Axios来与后端进行数据交互。 参考资料:Axios官方文档:GettingStarted| AxiosD......
  • 封装Axios
    Axios是一个基于Promise的易用、简洁且高效的HTTP请求插件,可以用于浏览器和Node.js。首先执行yarn命令安装依赖,安装成功时在package.json文件的dependencies下多出了Axios及其版本号,笔者写此书时,安装的版本为0.26.1,如所示。yarnaddaxiosAxios提供了一个配置灵活的API,可以传......
  • iphone/ios14越狱安装screendump
    必须是ios14因为screendump经过大神修复后最新版本(作者起了个名字叫做screendumpfix14)只支持到ios14。点击这里查看大神原帖子。点击这里查看如何降级到ios14如果降级失败(至少我是这样据说是因为什么G值无法固定导致)gettingkeysfailedwitherror:14745615(failedt......
  • Bios.Boot 系统引导修复
    Windowswin修复引导相对比较简单,下一个wepe或是其他任意PE系统都会自带修复引导功能Linux/Ubuntulinux这里只介绍Ubuntu的修复引导方式,其他发行版原理大差不差。注意是efi启动模式,如果是传统引导模式,此教程并不适用。1.使用安装盘,跳过安装界面,进入试用系统(注意版本应使用对应......