iOS UIButton(按钮)点击改变背景色和标题颜色的简单实现

iOS UIButton(按钮)点击改变背景色和标题颜色的简单实现,第1张

很多时候需要按钮点击变色, UI 设计师给了点击的颜色和标题的颜色, 假设按下的背景色是黄色(yellow),标题色是白色(white), 而普通状态下的背景色是红色(red), 标题色是绿色(green) 则可以这样:

两个事件处理方法如下所示:

但是这里还有一个小问题, 假如用户按住按钮不放, 然后用手指拖动出来的时候, 会发现标题变色了, 但是背景色没有变, 从而造成错误的显示.

所以还需要对 drag 事件进行处理, 即当用户在按钮的区域内按下不放, 然后手指拖动出来时, 恢复为默认的颜色(当然也可以处理成自己想要的效果):

对应的 action 方法:

可以用view的layer属性来写的。

如果只是简单地加一个边框的话,可以这样:

UIButton *yourButton = [UIButton buttonWithType:UIButtonTypeSystem]

// 初始化工作,设置文字,frame等等,略

// 按钮边框宽度

yourButton.layer.borderWidth = 1.5

// 设置圆角

yourButton.layer.cornerRadius = 4.5

// 设置颜色空间为rgb,用于生成ColorRef

CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB()

// 新建一个红色的ColorRef,用于设置边框(四个数字分别是 r, g, b, alpha)

CGColorRef borderColorRef = CGColorCreate(colorSpace,(CGFloat[]){ 1, 0, 0, 1 })

// 设置边框颜色

yourButton.start.layer.borderColor = borderColorRef


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7893317.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存