Swift 3.0 探索之 UILabel

开篇

最近闲来无事,看看Swift3.0,发现和我认识的1.0有很大的不同了,如果不学习一下估计会落伍了,所以探究一下 Swift 在开发中的使用(当然目前是初级水平,一起进步嘛,也欢迎菜鸟,大神一起探讨 QQ群 139852091)

正题

UILabel是我们开发中常用的控件了,我今天就拿它开刀,看一下我们在开发中常用的UILabel属性

创建已经常规设置
        //let 变量名字 = 变量类型(这是一个变量声明方法)
        let myLabel = UILabel()
        myLabel.text = "我是一个Label" //设置text  相比OC 省略了@“” 直接引号 类似Java
        myLabel.font = UIFont.systemFont(ofSize: 20) //设置字体大小
        myLabel.backgroundColor = UIColor.red // 设置背景颜色
        myLabel.textColor = UIColor .yellow //设置字体颜色
        myLabel.frame = CGRect.init(x: 100, y: 100, width: 180, height: 50) //设置frame
        myLabel.textAlignment = NSTextAlignment.center //设置字体居中显示
        myLabel.shadowColor = UIColor.black //设置阴影的颜色
        myLabel.shadowOffset = CGSize.init(width: 2.0, height: 2.0) //设置阴影偏移量
设置 lineBreakMode(如果字体显示不开,采取的显示方式)
        myLabel.lineBreakMode = NSLineBreakMode.byTruncatingTail  //隐藏尾部并显示省略号
        myLabel.lineBreakMode = NSLineBreakMode.byTruncatingMiddle  //隐藏中间部分并显示省略号
        myLabel.lineBreakMode = NSLineBreakMode.byTruncatingHead  //隐藏头部并显示省略号
        myLabel.lineBreakMode = NSLineBreakMode.byClipping  //截去多余部分也不显示省略号
设置 adjustsFontSizeToFitWidth

需要注意的是 当设置 adjustsFontSizeToFitWidth 属性为true的时候 设置lineBreakMode属性将失效

        //当设置下面的 adjustsFontSizeToFitWidth 属性为true的时候 上面设置的lineBreakMode属性将失效
        myLabel.adjustsFontSizeToFitWidth = true //当文字超出标签宽度时,自动调整文字大小
        myLabel.numberOfLines = 0 //返回int 类型  设置0没有行数限制 1、2、3、4对应1、2、3、4行
设置高亮属性
        myLabel.isHighlighted = true //设置文本高亮
        myLabel.highlightedTextColor = UIColor.green //设置文本高亮颜色
添加试图
self.view.addSubview(myLabel) //添加到试图上

下面我运行了一下程序,显示如下(图1)

�图1

NSAttributedString 富文本

我们还经常使用 Label 的一个属性是NSAttributedString 我们看一下这个在Swift里面怎么使用 ****当设置NSAttributedString属性的时候,设置的text将失效,其textColor、font等属性将保留没有被改变的(OC Swift通用属性)****

        //富文本设置
        let attributeString = NSMutableAttributedString(string:"我是一个Label")
        //range NSMakeRange 从文本 XX位开始 开始 XX个字符
        //字体大小12号
        attributeString.addAttribute(NSFontAttributeName,
                                     value: UIFont.systemFont(ofSize: 12),
                                     range: NSMakeRange(0,2))
        //设置字体颜色
        attributeString.addAttribute(NSForegroundColorAttributeName, value: UIColor.blue,
                                     range: NSMakeRange(2, 2))
        //设置文字背景颜色
        attributeString.addAttribute(NSBackgroundColorAttributeName,
                                     value: UIColor.yellow,
                                     range: NSMakeRange(4,5))
        myLabel.attributedText = attributeString

运行看效果(图2)

图2.png

好了,今天差不多就这些,明天继续看,看一个最简单的UIView吧,代码我稍后会上传的群文件(QQ群 139852091)网盘已经git,明个见!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏一个会写诗的程序员的博客

《MongoDB极简教程》第二章 MongoDB 基本命令(Shell)

MongoDB的所有请求都以命令的形式发出,支持的命令列表参考Database Commands

1194
来自专栏朱慕之的博客

UIView和CALayer

1 2 3 4viewT.layer.cornerRadius = 10;//设置半径 viewT.layer.borderWidth = 10;//设置边框...

1001
来自专栏有趣的django

博客园美化大全

3050
来自专栏Charlie's Road

图层几何学 -- iOS Core Animation 系列二

《图层树和寄宿图 -- iOS Core Animation 系列一》介绍了图层的基础知识和一些属性方法。这篇主要内容是学习下图层在父图层上怎么控制位置和尺寸的...

973
来自专栏zcqshine's blog

ajaxFileUpload+ThinkPHP+jqGrid 图片上传与显示

3824
来自专栏進无尽的文章

UI篇-CATextLayer和 富文本的交融

CATextLayer适用于IOS或者MAC,比UIlablel 和 NSTextView 能做的事很多,可以这样说UIlablel是通过CATextLayer...

2591
来自专栏.Net移动开发

.Net语言 APP开发平台——Smobiler学习日志:快速实现手机上的图片上传功能

获取或设置相机组件上传质量的模式,默认设置为“Custom”,即表示压缩上传和原图上传都支持,如图2;

1463
来自专栏林德熙的博客

win10 uwp 使用动画修改 Grid column 的宽度

今天 wurstmitbrot 问如何通过动画修改 Grid 的 column ,虽然 column 是一个依赖属性,可以绑定,但是做出动画还是比较难的。 本文...

781
来自专栏deepcc

学习js在线html(富文本)编辑器

2.6K7
来自专栏xx_Cc的学习总结专栏

iOS-核心动画详解之CALayer

3046

扫码关注云+社区

领取腾讯云代金券