Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. import UIKit
  2.  
  3. enum line_position {
  4. case line_position_top
  5. case line_position_bottom
  6. }
  7.  
  8. extension UIView {
  9. func addLine(position: line_position, color: UIColor, width: Double) {
  10. let lineView = UIView()
  11. lineView.backgroundColor = color
  12. lineView.translatesAutoresizingMaskIntoConstraints = false // This is important!
  13. self.addSubview(lineView)
  14.  
  15. let metrics = ["width": NSNumber(value: width)]
  16. let views = ["lineView": lineView]
  17. self.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|[lineView]|", options: NSLayoutConstraint.FormatOptions(rawValue: 0), metrics: metrics, views: views))
  18.  
  19. switch position {
  20.  
  21. case .line_position_top:
  22. self.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|[lineView(width)]", options: NSLayoutConstraint.FormatOptions(rawValue: 0), metrics: metrics, views: views))
  23. break
  24. case .line_position_bottom:
  25. self.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:[lineView(width)]|", options: NSLayoutConstraint.FormatOptions(rawValue: 0), metrics: metrics, views: views))
  26. break
  27. }
  28. }
  29.  
  30. func animate(type: CATransitionType, subtype: CATransitionSubtype, duration: CFTimeInterval) {
  31. let transition = CATransition()
  32. transition.type = type
  33. transition.subtype = subtype
  34. transition.duration = duration
  35. layer.add(transition, forKey: "CustomAnimation117")
  36. }
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement