常用控件
| let button = UIButton(type: UIButtonType.contactAdd)
button.frame = CGRect(x:100, y:100, width:100, height:100)
button.backgroundColor = UIColor.cyan
button.setTitle("Add", for: UIControlState.normal)
self.view.addSubview(button)
|
| UIButtonType.ContactAdd. : 前面带“+”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果
UIButtonType.DetailDisclosure: 前面带“!”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果
UIButtonType.System. : 前面不带图标,默认文字颜色为蓝色,有触摸时的高亮效果
UIButtonType.Custom. : 定制按钮,前面不带图标,默认文字颜色为白色,无触摸时的高亮效果
UIButtonType.InfoDark. : 为感叹号“!”圆形按钮
UIButtonType.InfoLight. : 为感叹号“!”圆形按钮
|
| UIControlState.Normal. :普通状态下的文字
UIControlState.Highlighted:触摸状态下的文字
UIControlState.Disabled. :禁用状态下的文字
|
| button.setTitleColor(UIColor.black,for: .normal) //普通状态下文字的颜色
button.setTitleColor(UIColor.green,for: .highlighted) //触摸状态下文字的颜色
button.setTitleColor(UIColor.gray,for: .disabled) //禁用状态下文字的颜色
|
| button.setTitleShadowColor(UIColor.green,for:.normal) //普通状态下文字阴影的颜色
button.setTitleShadowColor(UIColor.yellow,for:.highlighted) //普通状态下文字阴影的颜色
button.setTitleShadowColor(UIColor.gray,for:.disabled) //普通状态下文字阴影的颜色
|
1.6 常用的触摸事件类型
| TouchDown. :单点触摸按下事件,点触屏幕
TouchDownRepeat :多点触摸按下事件,点触计数大于1,按下第2、3或第4根手指的时候
TouchDragInside :触摸在控件内拖动时
TouchDragOutside:触摸在控件外拖动时
TouchDragEnter :触摸从控件之外拖动到内部时
TouchDragExit :触摸从控件内部拖动到外部时
TouchUpInside :在控件之内触摸并抬起事件
TouchUpOutside. :在控件之外触摸抬起事件
TouchCancel :触摸取消事件,即一次触摸因为放上太多手指而被取消,或者电话打断
|
1.7 设置按钮的圆角
| button.layer.masksToBounds = true
button.layer.cornerRadius = 6.0
|
1.8 设置按钮点击时高亮,默认点击时是高亮的状态
| button.showsTouchWhenHighlighted = true
|
2. UILabel 文本视图
2.1 UILabel的创建和文字显示
| let rect = CGRect(x: 20, y: 100, Width: 280, height: 80)
let label = UILabel(frame: rect)
label.text = "Hello, Xcode and Swift 3!"
label.textAlignment = NSTextAlignment.right
|
2.2 UILabel处理过长的文字
在实际的开发中,文字过长的情况是难免的,虽然手机屏幕的大小已经从iphone4的3.5寸,到现在的iphone8的5.5寸,但是手机的屏幕的尺寸仍然是有限的,所以UILabel上显示的文字的长度就一定是有限的。
下面罗列出几种处理方法:
| // 1.增加行数
label.numberOfLines = 0
// 2.字符串的截取
label.lineBreakMode = NSLineBreakMode.byTruncatingMiddle
// 调整字体大小以完全显示文字
label.adjustsFontSizeToFitWidth = true
|
针对上记案<2>的处理方法,有下记的说明进行参照:
| 名称 |
功能说明 |
| byWordWrapping |
以单词为显示单位显示,后面部分省略不显示 |
| byCharWrapping |
以字符为显示单位显示,后面部分省略不显示 |
| byClipping |
剪切与文本宽度相同的内容长度,后半部分被删除 |
| byTruncatingHead |
开头省略,显示尾部文字内容 |
| byTruncatingTail |
结尾省略,显示开头的文字内容,默认 |
| byTruncatingMiddle |
中间省略,显示头尾文字内容 |
3. UITextField 文本框控件
3.1 文本框的创建
| let textField = UITextField(frame: CGRect(x: 50, y: 300, width: 100, height: 30))
textField.borderStyle = UITextBorderStyle.none
textField.placeholder="请输入"
textField.backgroundColor = UIColor.white
self.view.addSubview(textField)
|
3.2 文本框的样式
| UITextBorderStyle.None :无边框
UITextBorderStyle.Line :直线边框
UITextBorderStyle.RoundedRect:圆角矩形边框
UITextBorderStyle.Bezel :边线+阴影
|
3.3 文字大小超过文本框长度时自动缩小字号
| textField.adjustsFontSizeToFitWidth = true
textField.minimumFontSize = 14
|
3.4 设置水平/垂直对齐方式
| //水平对齐
textField.textAlignment = .right //水平右对齐
textField.textAlignment = .center //水平居中对齐
textField.textAlignment = .left //水平左对齐
// 垂直对齐
textField.contentVerticalAlignment = .top //垂直向上对齐
textField.contentVerticalAlignment = .center //垂直居中对齐
textField.contentVerticalAlignment = .bottom //垂直向下对齐。
|
3.5 设置输入框右边的小叉叉(清除按钮)
| textField.clearButtonMode=UITextFieldViewMode.whileEditing //编辑时出现清除按钮
textField.clearButtonMode=UITextFieldViewMode.unlessEditing //编辑时不出现,编辑后才出现清除按钮
textField.clearButtonMode=UITextFieldViewMode.always //一直显示清除按钮
|
3.6 设置文本框关联的键盘类型
| textField.keyboardType = UIKeyboardType.default //系统默认的虚拟键盘
textField.keyboardType = UIKeyboardType.numbersAndPunctuation //显示数字和标点的虚拟键盘
textField.keyboardType = UIKeyboardType.URL //显示便于输入数字的虚拟键盘
textField.keyboardType = UIKeyboardType.numberPad //显示便于输入数字的虚拟键盘
textField.keyboardType = UIKeyboardType.phonePad //显示便于拨号呼叫的虚拟键盘
textField.keyboardType = UIKeyboardType.namePhonePad //显示便于聊天拨号的虚拟键盘
textField.keyboardType = UIKeyboardType.emailAddress //显示便于输入Email的虚拟键盘
textField.keyboardType = UIKeyboardType.decimalPad //显示用于输入数字和小数点的虚拟键盘
textField.keyboardType = UIKeyboardType.twitter //显示方便些Twitter的虚拟键盘
textField.keyboardType = UIKeyboardType.webSearch //显示便于在网页上书写的虚拟键盘。
|
3.7 使文本框在界面打开时就获取焦点,并弹出输入键盘
| textField.becomeFirstResponder()
|
3.8 使文本框失去焦点,并收回键盘
| textField.resignFirstResponder()
|
3.9 设置键盘return键的样式
| textField.returnKeyType = UIReturnKeyType.done //表示完成输入
textField.returnKeyType = UIReturnKeyType.go //表示完成输入,同时会跳到另一页
textField.returnKeyType = UIReturnKeyType.search //表示搜索
textField.returnKeyType = UIReturnKeyType.join //表示注册用户或添加数据
textField.returnKeyType = UIReturnKeyType.next //表示继续下一步
textField.returnKeyType = UIReturnKeyType.send //表示发送
|
4. UISwitch 开关视图
注意:UISwitch的大小设置是无效的,其永远保持在width为51px,height为31px的大小