NCViewerImageNibLoadingView.swift 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import UIKit
  2. @IBDesignable
  3. public class NCViewerImageNibLoadingView: UIView {
  4. @IBOutlet weak var view: UIView!
  5. public override init(frame: CGRect) {
  6. super.init(frame: frame)
  7. view = NCViewerImageNibLoading.nibSetup(self)
  8. }
  9. public required init?(coder aDecoder: NSCoder) {
  10. super.init(coder: aDecoder)
  11. view = NCViewerImageNibLoading.nibSetup(self)
  12. }
  13. public override func layoutSubviews() {
  14. super.layoutSubviews()
  15. self.view.backgroundColor = .clear
  16. }
  17. }
  18. private class NCViewerImageNibLoading: NSObject {
  19. class func loadViewFromNib(_ obj: UIView) -> UIView {
  20. let bundle = Bundle(for: type(of: obj))
  21. let nib = UINib(nibName: String(describing: type(of: obj)), bundle: bundle)
  22. let nibView = (nib.instantiate(withOwner: obj, options: nil).first as? UIView)!
  23. return nibView
  24. }
  25. class func nibSetup(_ obj: UIView) -> UIView {
  26. obj.backgroundColor = .clear
  27. let view: UIView = NCViewerImageNibLoading.loadViewFromNib(obj)
  28. view.frame = obj.bounds
  29. view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
  30. view.translatesAutoresizingMaskIntoConstraints = true
  31. obj.addSubview(view)
  32. return view
  33. }
  34. }