持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第23天,点击查看活动详情
大家好,我是小黑,一个还没秃头的程序员~~~
大家好,今天介绍的控件是按钮-UIButton,效果如下:
话不多说,正文开始
UIButton
UIButton是一种执行自定义代码以响应用户交互的控件
当你点击一个按钮,或选择一个有焦点的按钮时,按钮执行任何附加到它的操作。你可以使用文本标签、图像或两者同时使用来传达按钮的目的。按钮的外观是可配置的,所以你可以着色按钮或格式标题,以匹配你的应用程序的设计。你可以添加按钮到你的界面编程或使用界面生成器。
在界面中添加按钮时,请执行以下步骤:
- 在创建时设置按钮的类型
- 提供一个标题字符串或图像,根据内容适当调整按钮的大小
- 为按钮添加点击事件
响应按钮点击
按钮使用目标-操作设计模式,当用户点击按钮时通知应用程序。不是直接处理触摸事件,而是将操作方法分配给按钮,并指定哪些事件触发对方法的调用。在运行时,按钮处理所有传入的触摸事件,并在响应中调用你的方法。
你可以使用addTarget方法或在Interface Builder中创建一个连接来连接一个按钮到您的操作方法。
func addTarget(_ target: Any?,
action: Selector,
for controlEvents: UIControl.Event)
操作方法的定义如下:
@objc func funcName(){
code
}
| 属性 | 说明 |
|---|---|
| titleLabel | 显示按钮当前值的视图 |
| title | 返回与指定状态相关联的标题 |
| attributeTitle | 返回与指定状态关联的样式标题 |
| titleColor | 返回用于某个状态的标题颜色 |
| titleShadowColor | 返回用于某个状态的标题的阴影颜色 |
| adjustsImageWhenHighlighted | 用于确定按钮高亮显示时图像是否发生变化 |
| adjustsImageWhenDisabled | 用于确定禁用按钮时图像是否会更改 |
| showsTouchWhenHighlighted | 确定点击按钮是否会使其发光 |
| backgroundImage | 返回用于按钮状态的背景图像 |
| image | 返回用于按钮状态的图像 |
| preferredSymbolConfigurationForImage | 返回按钮状态的首选符号配置 |
| tintColor | 应用于按钮标题和图像的着色颜色 |
| contentEdgeInsets | 按钮内容的内间距 |
以上部分属性使用setXXX即可实现属性的配置,属性数量过多,大家按需自查,这里就不一一列举了
下面是一个简单的按钮的代码:
button=UIButton(type: UIButton.ButtonType.system)
button.setTitle("OK", for: UIControl.State.normal)
button.setAttributedTitle(NSAttributedString(string: "我是UIButton"), for: .normal)
button.setTitleColor(.red, for: .normal)
button.setTitleColor(.orange, for: .normal)
button.contentEdgeInsets = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)
let buttonWidth:CGFloat = 200
let buttonHeight:CGFloat = 50
let buttonTop:CGFloat = titleBarHeight+70
button.frame = CGRect(x: (screen.size.width-buttonWidth)/2, y: buttonTop, width: buttonWidth, height: buttonHeight)
button.addTarget(self, action: #selector(onClick), for: UIControl.Event.touchUpInside)
self.view.addSubview(button)
....
@objc func onClick(sender:AnyObject) {
self.button.setTitle("我被点击了", for: UIControl.State.normal)
}
效果图见文章首部
以上便是IOS中关于UIButton的使用,今天的UIView学习分享就到这里,后面我会持续输出iOS开发笔记,感谢大家的阅读!共同努力!大家晚安!