首页 > 其他分享 >IOS开发-实现一个高度自适应的UILabel和一个宽度自适应的UILabel

IOS开发-实现一个高度自适应的UILabel和一个宽度自适应的UILabel

时间:2023-07-02 15:45:34浏览次数:37  
标签:想想 text label2 label3 IOS UILabel 适应 font

1.实现一个高度自适应的UILable

思路:UILabel初始化之后,先不要设置他的宽度和高度,等到设置好text属性和font属性之后,根据text的长度以及font的大小来计算UILabel控件的高度

//实现一个高度自适应的uilabel
    UILabel *label2 = [[UILabel alloc] init];
    label2.text = @"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx想想想想想想想想想想想想想想想想想学习学习学习学习";
    label2.font = [UIFont systemFontOfSize:13];
    label2.frame = CGRectMake((self.view.frame.size.width-200)/2, 100, 200, label2.text.length*13/200*16);
    label2.numberOfLines =0;
    [self.view addSubview:label2];

根据 label2.text.length*13/200计算出文字占几行然后乘以UILabel的高度加3pt,这里加3是为了确保文字能完全展示出来。一般情况下加3就足够了

 

2.实现一个宽度自适应的UILable

思路:UILabel初始化之后,先不要设置他的宽度和高度,等到设置好text属性和font属性之后,根据text的长度以及font的大小来计算UILabel控件的宽度

 //实现一个宽度自适应的uilabel
    UILabel *label3 = [[UILabel alloc] init];
    label3.text = @"想想想想想想想想想想想想想想想休息休息";
    label3.font = [UIFont systemFontOfSize:13];
    label3.frame = CGRectMake((self.view.frame.size.width-label3.text.length*13)/2, 200,  label3.text.length*16,13);
    label3.numberOfLines = 0;
   
    [self.view addSubview:label3];

根据label3.text.length*16计算出UILable的宽度,同样根据字号加上3pt,确保文字能完全展示出来

 

标签:想想,text,label2,label3,IOS,UILabel,适应,font
From: https://www.cnblogs.com/SadicZhou/p/17520849.html

相关文章

  • 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加上后向下滚动时自动隐藏前进后退横栏,一定程度上解决了遮挡底部的问题,向上滚动后又会出现......
  • 【无人机控制】基于几何自适应控制算法解耦姿态动力学的四旋翼无人机附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 基于自适应滤波法研究从宽带信号中提取单频信号的方法附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 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......
  • 基于mpc(最优控制)的车辆自适应巡航控制(acc),模型预测控制,通过carsim与matlab联防实现速度
    基于mpc(最优控制)的车辆自适应巡航控制(acc),模型预测控制,通过carsim与matlab联防实现速度与间距控制。最优控制(MPC):最优控制是一种优化方法,用于设计系统的控制策略,以使系统在给定约束条件下达到最优性能。车辆自适应巡航控制(ACC):车辆自适应巡航控制是一种智能驾驶技术,通过使用传感器和......
  • 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,可以传......