Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class BaseViewController: UIViewController {
- let headerView: UIView = {
- let view = UIView()
- view.backgroundColor = UIColor.green
- return view
- }()
- func addHeader() {
- view.addSubview(headerView)
- // then anchor it to top
- }
- }
- class ScrollViewController: UIViewController {
- let scrollView: UIScrollView = {
- let view = UIScrollView()
- view.backgroundColor = UIColor.green
- return view
- }()
- func addScrollView() {
- view.addSubview(scrollView)
- // then anchor it to top
- }
- }
- class HomeViewController: ScrollViewController, BaseViewController {
- override viewDidLoad() {
- super.viewDidLoad()
- addScrollView()
- addHeaderView()
- let view = UIView()
- //anchor view to bottom of the header
- }
- }
- protocol HeaderProtocol {
- func addHeader()
- }
- extension HeaderProtocol where Self: UIViewController {
- func addHeader() {
- let headerView = UIView()
- headerView.backgroundColor = UIColor.green
- view.addSubview(headerView)
- // then anchor it to top
- }
- }
- protocol ScrollViewProtocol {
- func addScrollView()
- }
- extension ScrollViewProtocol where Self: UIViewController {
- func addScrollView() {
- let scrollView = UIScrollView()
- scrollView.backgroundColor = UIColor.green
- view.addSubview(scrollView)
- // then anchor it to top
- }
- }
- class HomeViewController: ScrollViewProtocol, HeaderProtocol {
- override func viewDidLoad() {
- super.viewDidLoad()
- addScrollView()
- addHeaderView()
- }
- }
Add Comment
Please, Sign In to add comment