Skip to content
This repository has been archived by the owner on May 9, 2020. It is now read-only.

marty-suzuki/LayeredLayout

Repository files navigation

LayeredLayout (WIP)

FunctionBuilder based addSubview / addConstraint supporter

override func viewDidLoad() {
    super.viewDidLoad()

    let view2 = UIView()
    let view3 = UIView()

    self.view.layout.add { // <- It uses @_functionBuilder

        view2 // <- It means `addSubview`. Added on `self.view`
        view2.topAnchor.constraint(equalTo: view.topAnchor) // <- It meands `addConstraint`
        view2.leadingAnchor.constraint(equalTo: view.leadingAnchor)
        view2.trailingAnchor.constraint(equalTo: view.trailingAnchor)
        view2.bottomAnchor.constraint(equalTo: view.trailingAnchor)

        view2.layout.add {

            view3 // <- Added on view2
            view3.topAnchor.constraint(equalTo: view2.topAnchor, constant: 10)
            view3.leadingAnchor.constraint(equalTo: view2.leadingAnchor, constant: 10)
            view3.trailingAnchor.constraint(equalTo: view2.trailingAnchor, constant: -10)
            view3.bottomAnchor.constraint(equalTo: view2.bottomAnchor, constant: -10)
        }
    }
}

Requirements

  • Swift 5.1
  • Xcode 11.3.1
  • iOS 11

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages