UIButton高亮(highlighted)下的边框颜色(borderColor)
来源:互联网 发布:费迪南德拳击 知乎 编辑:程序博客网 时间:2024/06/04 10:52
有时候可能会有这样的需求,在button高亮(highlighted)的状态下改变背景颜色(backgroundColor)或者边框颜色(bordercolor)或者字体颜色,那么我们怎么来处理这个问题呢?下面就以改变边框颜色为例子,默认边框为灰色,高亮状态下为红色,下面看看2种实现方式
1为button添加对应的点击事件,实现简单,直接看代码
class ViewController: UIViewController { @IBOutlet weak var button: UIButton! override func viewDidLoad() { super.viewDidLoad() button.layer.borderColor = UIColor.gray.cgColor button.layer.borderWidth = 2 button.addTarget(self, action: #selector(highlightBorder), for: .touchDown) button.addTarget(self, action: #selector(normalBorder), for: .touchUpInside) } func highlightBorder() { print("highlightBorder") button.layer.borderColor = UIColor.red.cgColor } func normalBorder() { print("normalBorder") button.layer.borderColor = UIColor.gray.cgColor }}
分析:默认情况下,边框为灰色,当我们按钮按钮的时候,边框变为红色,当松开按钮时又回到正常灰色边框,这里功能的实现需要明确按钮事件的触发时机。
touchDown,单点触摸按下事件:用户点触屏幕,或者又有新手指落下的时候。
touchUpInside.所有在控件之内触摸抬起事件。
touchUpInside在touchDown之后进行调用,所以能够实现我们的需求。
2自定义UIButton,重写isHighlighted属性
重写isHighlighted属性,设置对应的边框颜色
class MyButton: UIButton { override var isHighlighted: Bool { didSet { switch isHighlighted { case true: layer.borderColor = UIColor.red.cgColor case false: layer.borderColor = UIColor.gray.cgColor } } }}
ViewController仅仅是持有MyButton实例,并且设置默认边框颜色
class ViewController: UIViewController { @IBOutlet weak var myButton: MyButton! override func viewDidLoad() { super.viewDidLoad() myButton.layer.borderColor = UIColor.gray.cgColor myButton.layer.borderWidth = 2 }}
0 0
- UIButton高亮(highlighted)下的边框颜色(borderColor)
- UIButton的边框颜色设置
- 关于UIButton的highlighted状态的总结
- iOS如何保持UIButton的Highlighted状态
- UIButton高光状态(highlighted)时阴影效果
- Ios开发Swift自定义UIbutton增加一个能设置高亮状态下背景颜色的方法
- 不让按钮进入高亮(HighLighted)状态
- UIButton设置高亮状态下的背景色【原创】
- UIButton的高亮效果
- UIButton高光状态(highlighted)左上角有个蓝色小方块
- bordercolor
- UIButton设置圆角和边框及边框颜色
- iOS - UIButton设置圆角和边框及边框颜色
- UIButton设置圆角和边框及边框颜色
- UIButton添加到IOS7的UITableviewCell上时Highlighted效果不起作用
- UIButton on the UIScrollView highlighted delayed
- UIButton: set image for selected-highlighted state
- UIbutton在UIScrollview中highlighted延迟
- CenteOS6.5下Redis安装踩过的坑
- Linux高级IO
- hihocoder #1153 : Numeric Keypad
- 回溯法解n后问题
- CDR如何将绘图页面指定对象保存为JPG格式
- UIButton高亮(highlighted)下的边框颜色(borderColor)
- 软件性能测试的本质
- 4.0spring框架学习(四)自动装配
- App测试方法总结
- python 导入循环问题
- MYSQL数据库规范-字段规范
- tensorflow训练的模型在java中的使用
- Android NavigationView的使用详解以及各种问题解决方案
- 5.0spring框架学习(五)注解