高亮效果实现:如何用CALayer调整父视图Alpha实现高亮笔效果
按钮集合的三种状态展示与实现

这些按钮对应不同的集合,每个集合包含以下三种状态:
- 空状态:以“K7s”为例,通过设置
K7s.alpha = 0.4标识为空状态 - 满状态:以“Q7s”为例,通过设置
Q7s.alpha = 1.0同时将borderWidth设为2标识为满状态 - 部分填充状态:以“J7s”为例,通过添加小框架标识为部分填充状态。要求该小框架为CALayer,能够将其父图层(J7s)在该框架范围内的Alpha值调整为1.0,最终效果如下:

实现该部分填充效果的代码如下:
let highlighterLayer = CALayer() highlighterLayer.borderWidth = 1 highlighterLayer.bounds = CGRect(x: 0, y: 0, width: buttonSize.width, height: percentHeight) Buttons[tag].layer.addSublayer(highlighterLayer) highlighterLayer.position = CGPoint(x: Buttons[tag].bounds.midX, y: Buttons[tag].bounds.midY) Highlights[tag] = highlighterLayer
内容的提问来源于stack exchange,提问作者Chameleon
相关产品推荐
相关产品推荐

