Advertisement
Guest User

Untitled

a guest
Feb 25th, 2017
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 1.51 KB | None | 0 0
  1. import UIKit
  2. import PlaygroundSupport
  3.  
  4. class Target {
  5.    
  6.     @objc func changeColor(sender: UIButton?) {
  7.        
  8.         guard let button = sender else { return }
  9.        
  10.         button.backgroundColor = UIColor.purple
  11.     }
  12. }
  13.  
  14. let viewController = UIViewController()
  15. viewController.view.frame = CGRect(x: 0, y: 0, width: 200, height: 200)
  16. viewController.view.backgroundColor = UIColor.red
  17.  
  18. let v = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
  19. v.backgroundColor = UIColor.green
  20.  
  21. let l = UILabel(frame: CGRect(x: 0, y: 0, width:0, height: 0))
  22. l.text = "Hello"
  23.  
  24. viewController.view.addSubview(v)
  25. v.addSubview(l)
  26. l.sizeToFit()
  27.  
  28. let layer = CALayer()
  29.  
  30.  
  31. layer.borderWidth = 1.0
  32. layer.borderColor = UIColor.red.cgColor
  33.  
  34. let anim = CABasicAnimation(keyPath: "bounds")
  35. anim.duration = 1.0
  36. anim.fillMode = kCAFillModeForwards
  37. anim.fromValue = CGRect(x: 0, y: 0, width: 10, height: 10)
  38. anim.toValue = CGRect(x: 0, y: 0, width: 100, height: 100)
  39. anim.isRemovedOnCompletion = true
  40.  
  41. layer.add(anim, forKey: "bounds")
  42.  
  43. v.layer.addSublayer(layer)
  44. layer.bounds = CGRect(x: 0, y: 0, width: 100, height: 100)
  45.  
  46.  
  47. let b = UIButton(type: .system)
  48. b.setTitle("Press Me", for: .normal)
  49. b.titleLabel?.textColor = UIColor.blue
  50.  
  51. b.frame = CGRect(x: 100, y: 100, width: 0, height: 0)
  52. b.sizeToFit()
  53.  
  54. viewController.view.addSubview(b)
  55.  
  56. let target = Target()
  57. b.addTarget(target, action: #selector(target.changeColor(sender:)), for: .touchUpInside)
  58.  
  59. PlaygroundPage.current.liveView = viewController.view
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement