Swift 是苹果推出的编程语言,专门针对 OS X 和 iOS 的应用开发。Swift 在各个方面优于 Objective-C,也不会有那么多复杂的符号和表达式。同时,Swift 更加快速、便利、高效、安全
首先我们要创建一个swift的工程![](https://img.haomeiwen.com/i1683556/a17bfdbd735400bc.png)
创建之后就可以进行下一步了
我之前对swift没有什么接触,所以学习方法都是自己想学什么就是什么不是特别系统,我是从UI开始学的
创建一个UILabel
// 创建
let label = UILabel()
label.frame = CGRect(x: 50, y: 100, width: 50, height: 30)
// 设置显示的文字
label.text = "测试"
label.backgroundColor = .red//背景颜色
label.textColor = .black//文字颜色
label.font = UIFont .systemFont(ofSize: 11)//字体大小
label.textAlignment = .left//设置文字对齐方式
label.numberOfLines = 0//设置行数
// 字符串的截取
label.lineBreakMode = NSLineBreakMode.byTruncatingMiddle
view .addSubview(label)//添加在父视图上
byWordWrapping: 以单词为显示单位,后面的部分省略不显示
byCharWrapping: 以字符为显示单位,后面的部分省略不显示
byClipping: 以剪切与文本宽度相同的内容长度,后半部分被删除
byTruncatingHead: 开头省略,显示尾部文字内容 (...xxxxxxxx)
byTruncatingTail: 结尾省略,显示开头部分文字内容(xxxxxxx...)
byTruncatingMiddle:中间省略,显示开头和结尾部分文字(xxxx...xxxx)
当不确定label的高度的时候
/// 根据文本、字体、获取UILabel的宽和高
///
/// - Parameters:
/// - text: 文本
/// - font: 字体
/// - maxSize: 最大的宽和高,比如(280,MAXFLOAT)
/// - Returns: 返回实际需要的rect
func getLabelHeigth(texe:NSString,font:UIFont,maxSize:CGSize) -> CGRect {
// NSFontAttributeName
let attr = [NSAttributedString.Key.font:font]
let option = NSStringDrawingOptions.usesLineFragmentOrigin
return texe.boundingRect(with: maxSize, options: option, attributes: attr, context: nil)
}
调用计算的方法
let str = "1234567890-wertyuiop[zxcvbnm,.rtyuiopZewxrctvybunimk nbvgcdxretdfyugihjl;ml,nh gftxryfgukhlj.,mnyfgukhnmkl;lm,m nlm.,m nnkl nlk nk, m"
label.text = str
let rect = getLabelHeigth(texe: str as NSString, font: label.font, maxSize: CGSize(width: 180, height: 80))
label.frame = CGRect(x: 50, y: 100, width: 200, height: rect.height)
还可以对UILabel进行美化
label.layer.cornerRadius = 10//设置圆角
// 设置阴影颜色
label.shadowColor = UIColor.lightGray
// 设置阴影偏移量,这里表示阴影向下和向右都偏移了2px
label.shadowOffset = CGSize(width: 2, height: 2)
现在就是学习到这么多了,第一天学习swift请大家多多指教呀
网友评论