Tanjiro
Tanjiro 是一个使用 NSLayoutAnchor 的布局包装器
要求
- iOS 11.0+
- Xcode 10.0+
安装
依赖管理器
CocoaPods
CocoaPods 是 Cocoa 项目的依赖管理器。您可以使用以下命令安装它
$ gem install cocoapods
要使用 CocoaPods 将 Tanjiro 集成到您的 Xcode 项目中,请在您的 Podfile
中指定它
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '11.0'
use_frameworks!
pod 'Tanjiro'
然后,运行以下命令
$ pod install
Carthage
Carthage 是一个分散式的依赖管理器,它自动将框架添加到您的 Cocoa 应用程序中。
您可以使用以下命令使用 Homebrew 安装 Carthage
$ brew update
$ brew install carthage
要使用 Carthage 将 Tanjiro 集成到您的 Xcode 项目中,请在您的 Cartfile
中指定它
github "jeanvinge/Tanjiro"
Swift 包管理器
要将 Tanjiro 作为 Swift 包管理器 包使用,只需在您的 Package.swift 文件中添加以下内容。
// swift-tools-version:4.2
import PackageDescription
let package = Package(
name: "HelloTanjiro",
dependencies: [
.package(url: "https://github.com/jeanvinge/Tanjiro.git")
],
targets: [
.target(name: "HelloTanjiro", dependencies: ["Tanjiro"])
]
)
手动
如果您不想使用上述任何一个依赖关系管理器,可以将 Tanjiro 手动集成到您的项目中。
Git 子模块
- 打开终端,在顶级项目目录中运行 命令
$ git init
- 通过运行以下命令将 Tanjiro 添加为 Git 子模块
$ git submodule add https://github.com/jeanvinge/Tanjiro.git
$ git submodule update --init --recursive
-
打开新的
Tanjiro
文件夹,并将Tanjiro.xcodeproj
拖拽到您应用程序的 Xcode 项目的项目导航器中。它应该出现在您应用程序的蓝色项目图标下。它是在所有其他 Xcode 组之上还是之下并不重要。
-
在项目导航器中,选择
Tanjiro.xcodeproj
并验证部署目标是否与您的应用程序目标相匹配。 -
接下来,选择项目导航器中的您的应用程序项目(蓝色项目图标),转到目标配置窗口,并在侧边栏的 "Targets" 下选择应用程序目标。
-
在窗口顶部的标签栏中,打开 "General" 面板。
-
在 "Embedded Binaries" 部分的 "+ " 按钮上点击。
-
您将看到两个不同的
Tanjiro.xcodeproj
文件夹,每个文件夹中都有一个不同的Tanjiro.framework
版本,它们嵌套在一个Products
文件夹中。您可以选择哪个 "Products" 文件夹并不重要。
-
选择
Tanjiro.framework
。 -
就是这样!
Tanjiro.framework
自动添加为目标依赖项,链接框架和嵌入框架,在复制文件构建阶段完成所有操作,这是在模拟器和设备上构建所需的所有内容。
嵌入的二进制文件
- 从 https://github.com/jeanvinge/Tanjiro/releases 下载最新版本。
- 接下来,选择项目导航器中的您的应用程序项目(蓝色项目图标),转到目标配置窗口,并在侧边栏的 "Targets" 下选择应用程序目标。
- 在窗口顶部的标签栏中,打开 "General" 面板。
- 在 "Embedded Binaries" 部分的 "+ " 按钮上点击。
- 添加下载的
Tanjiro.framework
。 - 就是这样!
使用
Tanjiro 允许您轻松创建视图,它帮助您进行自定义初始化并向其添加约束。
var view = UIView().with {
$0.backgroundColor = .green
}
container.addSubview(view)
view.layout {
$0.centerX.equalToSuperView()
$0.centerY.equalToSuperView()
$0.width.constraint(equalToConstant: 150)
$0.height.constraint(lessThanOrEqualToConstant: 50)
}
贡献
欢迎提交问题或拉取请求!
作者
Jean Vinge @jean_vinge
许可
Tanjiro采用MIT许可证发布。详情请见LICENSE。