SketchKit 2.0.0

SketchKit 2.0.0

Diogo Autilio 维护。



SketchKit 2.0.0

Build Status codecov Cocoapods compatible SPM compatible Carthage compatible License

SketchKit 是一个轻量级、功能强大且完全用 Swift 编写的自动布局库,可以使用简单直观的代码设置约束,而无需任何字符串操作。

简而言之,它允许您替换这个

newView.translatesAutoresizingMaskIntoConstraints = false

addConstraint(NSLayoutConstraint(
              item: newView,
              attribute: NSLayoutConstraint.Attribute.centerX,
              relatedBy: NSLayoutConstraint.Relation.equal,
              toItem: view,
              attribute: NSLayoutConstraint.Attribute.centerX,
              multiplier: 1,
              constant: 0))

或者

newView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true

使用这个

// It's NOT necessary: newView.translatesAutoresizingMaskIntoConstraints = false
newView.layout.applyConstraint { view in
    view.centerXAnchor(equalTo: self.view.centerXAnchor)
    view.centerYAnchor(equalTo: self.view.centerYAnchor)
}

需求

  • iOS 9.0+ / tvOS 9.0+ / macOS 10.11+
  • Swift 3.2+

安装

CocoaPods

要使用 CocoaPods 将 SketchKit 集成到您的 Xcode 项目中,请在您的 Podfile 中指定它

target '<Your Target Name>' do
  pod 'SketchKit'
end

然后,运行以下命令

$ pod install

Swift Package Manager (SPM)

要将 SketchKit 添加为依赖项,您必须将其添加到您的 Package.swift 文件的 dependencies 中,并在您的 target 中引用该依赖项。

import PackageDescription
let package = Package(
    name: "<Your Product Name>",
    dependencies: [
       .package(url: "https://github.com/dogo/SketchKit", .upToNextMajor(from: "1.0.0"))
    ],
    targets: [
        .target(
            name: "<Your Target Name>",
            dependencies: ["SketchKit"]),
    ]
)

添加依赖项后,您可以使用以下命令获取库

$ swift package resolve

Carthage

github "dogo/SketchKit"

使用说明

快速入门

import SketchKit

final class MyViewController: UIViewController {

    let myView: UIView = {
        let view = UIView(frame: .zero)
        view.color = .red
        return view
    }()

    override func viewDidLoad() {
        super.viewDidLoad()

        self.view.addSubview(myView)

        myView.layout.applyConstraint { view in
            view.topAnchor(equalTo: self.view.topAnchor)
            view.leadingAnchor(equalTo: self.view.leadingAnchor)
            view.bottomAnchor(equalTo: self.view.bottomAnchor)
            view.trailingAnchor(equalTo: self.view.trailingAnchor)
        }
    }
}

文档

项目文档可以在(这里)找到

致谢

  • Nicholas Babo (@NickBabo) 感谢SketchKit的logo设计,

执照

SketchKit是基于MIT许可证发布的。有关详细信息,请参阅LICENSE。