想来用过UIAlertView的都知道其中的文字内容是居中对齐(水平方向)的,如果只有一行文字还好,多行文字时如果最后一行撑不满宽度,也会显示居中效果,整体看起来怪怪的。

这其实就是其中的label控件设置了水平居中(水平方向)的效果,它没法自动根据文字行数来自动调整对齐方式。

如果把label设置成文字内容左对齐,多行内容左对齐满足了,但是只有一行内容且很短时也居左对齐显得不太好。

所以问题就来了:怎么实现UILabel控件文字只有一行时居中对齐,有多行时左对齐。

常规办法无非是判断文字内容是否多行,涉及到宽度计算问题,想来就觉得麻烦,能不能让它自动计算呢?

不要让UILabel限制了思维,试问一个问题:如果一个label是左对齐,文字内容很短,不足以撑满屏幕宽度,怎么让它一个屏幕中显示的效果是水平居中呢?

我想答案应该是让label自适应文字内容宽度,设置label水平居中对齐于屏幕。

这个时候我想label无论设置什么水平方向对齐方式,都对上面的事实毫无影响。

既然多行需要居左对齐,那么就把label设置为左对齐,就好了。

所以为了解决上面的问题,需要借助一个containerView和AutoLayout。

这用到了UILabel的一个属性:intrinsicContentSize。有了这个属性,在AutoLayout中对UILabel控件进行布局时,可以不指定其宽高而让它根据文字内容进行自动适配宽高。

设置label和containerView的AutoLayout的方法应该是这样的:label相对于containerView水平方向、 垂直方向居中,不指定label宽度,label.left>=containerView.left,label.right<=containerView.right,label.top>=containerView.top,label.bottom<=containerView.top。

参考:

uilabel 左上对齐_UILabel一行居中对齐与多行左对齐相关推荐

  1. R语言ggplot2可视化使用vjust和hjust参数对齐图像中的文本注释信息(左对齐、右对齐、居中)实战

    R语言ggplot2可视化使用vjust和hjust参数对齐图像中的文本注释信息(左对齐.右对齐.居中)实战 目录

  2. [css] 实现单行文本居中和多行文本左对齐并超出显示“...“

    [css] 实现单行文本居中和多行文本左对齐并超出显示"-" .one {text-align: center }.multi {overflow: hiddentext-over ...

  3. 纯CSS实现文字一行居中,多行左对齐的方法

    其实这种需求还是蛮常见的,主要用于产品列表页面,用于产品图片下面,显示产品的名称. 想要实现的效果为: 未知文字长度,当文字长度小于盒子宽度,也就是一行时,文字居中. 当文字长度大于盒子的宽度,会自动 ...

  4. css 多行文字左对齐,纯CSS实现文字一行居中,多行左对齐的方法

    其实这种需求还是蛮常见的,主要用于产品列表页面,用于产品图片下面,显示产品的名称. 想要实现的效果为: 未知文字长度,当文字长度小于盒子宽度,也就是一行时,文字居中. 当文字长度大于盒子的宽度,会自动 ...

  5. python怎么左对齐_python中如何用ljust()实现字符串左对齐?

    在python编程中,有时为了便于码代码,会将字符串左对齐,这样方便观看与书写,python中用于字符串左对齐的是ljust()方法,本文将向大家介绍ljust()方法.具体内容请看本文. 1.lju ...

  6. python第一行左对齐_python 左对齐,右对齐

    python 左对齐,右对齐 >>> print('{} and {}'.format('hello','world')) # 默认左对齐 hello and world >& ...

  7. html图片怎么中心对齐,css图片居中(css怎么让图片水平居中对齐)

    css图片居中 css图片居平分css图片水平居中和笔直居中两种状况,有时候还需要图片同时水平笔直居中,下面分几种居中状况别离介绍. css图片水平居中 运用margin:0auto完成图片水平居中 ...

  8. 实现表格内容第一行居中,其他行与第一行左对齐

    代码如下: <style> table{margin: 100px 100px;border: 1px solid skyblue; } td{border: 1px solid pink ...

  9. 微信小程序中实现一段文字当只有一行时居中显示,多行时左对齐

    刚开始没有头绪,百度了一下都说用wx.createSelectorQuery()这个方法,但是尝试无果. 后来突然想到一个办法,如下: 其中.prompt的样式如下 看下效果:

最新文章

  1. 过分!高校实验动物被学生私自放走,实验兔刚缝完针,连线都没拆......
  2. MySQL 解压缩安装
  3. 新版信标的信号板调试
  4. 2019年清华自主招生部分试题
  5. VTK:Texture之AnimateVectors
  6. 怎么看python环境变量配置是否好了验证图片_python 的 tesserocr 模块安装与获取图片验证码...
  7. jquery插件之thickbox
  8. 内存分配详解 malloc, new, HeapAlloc, VirtualAlloc,GlobalAlloc
  9. python数据结构_大O符号_学习笔记(1)
  10. 对抗神经机器翻译:GAN+NMT 模型,中国研究者显著提升机翻质量
  11. 【Shell】for循环
  12. 华为手机设置页面黑色_羡慕黑色背景照片?华为手机简单一招即可轻松拍摄
  13. linux系统中连接两个网桥,Linux 网桥代码分析 (二)
  14. mime 类型列表_MIME类型的完整列表
  15. ubuntu linux指南 管理篇,Ubuntu Linux指南:管理篇 译者序
  16. python 英语拼写-Python实现单词拼写检查
  17. windows hotkey
  18. python 检查是否为数字(包括正负数、浮点数)
  19. 3Dmax Script 自动减面
  20. 软件开发过程培训总结

热门文章

  1. 用c++设计 公司职工的信息管理程序 求大神!!
  2. 手把手教你接入微信开放平台,实现网站拉起微信账号登录,从0开始详细记录
  3. 外行朋友值得一读的5本经典数学书
  4. 【力扣17】电话号码的字母组合
  5. App Store上架之邓白氏编码申请
  6. 批量生成独一无二的NFT猫猫图,这项目王多鱼会投吗?
  7. 用分区大师无损增加C盘空间
  8. java并发编程(二十六)——单例模式的双重检查锁模式为什么必须加 volatile?
  9. 网站编辑企业如何应用智能员工节省了工资支出
  10. Vue导入上传Excel