Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class ScoreLayer: CALayer {
- var score = 0 {
- didSet {
- updateValue()
- }
- }
- let bgLayer: CALayer = {
- let layer = CALayer()
- layer.contentsScale = UIScreen.main.scale
- layer.backgroundColor = #colorLiteral(red: 0.2392156869, green: 0.6745098233, blue: 0.9686274529, alpha: 1)
- layer.shadowOffset = .zero
- layer.shadowRadius = 3
- layer.shadowColor = UIColor.black.cgColor
- layer.shadowOpacity = 0.4
- return layer
- }()
- let textLayer: CATextLayer = {
- let layer = CATextLayer()
- layer.contentsScale = UIScreen.main.scale
- layer.alignmentMode = .center
- layer.foregroundColor = UIColor.white.cgColor
- layer.fontSize = 20
- layer.font = UIFont.preferredFont(forTextStyle: .largeTitle)
- return layer
- }()
- let frameLayer: CALayer = {
- let layer = CALayer()
- layer.contentsScale = UIScreen.main.scale
- layer.borderColor = #colorLiteral(red: 0.2392156869, green: 0.6745098233, blue: 0.9686274529, alpha: 1)
- layer.borderWidth = 3
- layer.shadowOffset = .zero
- layer.shadowRadius = 3
- layer.shadowColor = UIColor.black.cgColor
- layer.shadowOpacity = 0.7
- return layer
- }()
- override init() {
- super.init()
- contentsScale = UIScreen.main.scale
- addSublayer(bgLayer)
- addSublayer(textLayer)
- addSublayer(frameLayer)
- updateValue()
- }
- override func layoutSublayers() {
- bgLayer.frame = bounds
- frameLayer.frame = bounds
- textLayer.frame = bounds
- bgLayer.transform = CATransform3DMakeRotation(.pi / 4, 0, 0, 1)
- frameLayer.transform = CATransform3DMakeRotation(.pi / 4, 0, 0, 1)
- }
- private func updateValue() {
- textLayer.string = "(score)"
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement