La Carte

Swift CocoaPods Build Status Codecov

一个 Swift 用的开源许可声明视图生成器。

截图

carte

⬆ 这些视图控制器是自动生成的 ✨

特性

安装

Carte 目前仅支持 CocoaPods

pod 'Carte'

⚠️ 重要提示:不要忘记将 post install hook 添加到您的 Podfile 中。将此脚本添加到 Podfile 的末尾

post_install do |installer|
  pods_dir = File.dirname(installer.pods_project.path)
  at_exit { `ruby #{pods_dir}/Carte/Sources/Carte/carte.rb configure` }
end

使用方法

Carte 提供了 CarteViewController。您可以像使用普通的视图控制器一样使用它。推送,呈现,或者做任何你想做的事情。

let carteViewController = CarteViewController()

如果您想创建自己的 UI,请使用 Carte.items 获取 CarteItem

class Carte {
  static var items: [CarteItem]
}

定制

自定义项目

CarteViewController 具有一个名为 items 的属性,它是一个 CarteItem 的数组。所有许可都存储在 items 中。您可以通过操作 items 数组来添加新项目、删除现有项目或对项目进行排序。

这是一个添加新的 CarteItem 和对项目进行排序的示例。

var item = CarteItem(name: "Carte")
item.licenseText = "The MIT License (MIT) ...Very long text..."

let carteViewController = CarteViewController()
carteViewController.items.append(item)
carteViewController.items.sort { $0.name < $1.name }

自定义视图控制器

当用户选择表格视图单元格时,将呈现 CarteDetailViewControllerCarteViewController 提供了一个用于自定义它的处理程序。

定义

var configureDetailViewController: (CarteDetailViewController -> Void)?

示例

let carteViewController = CarteViewController()
carteViewController.configureDetailViewController = { detailViewController in
  detailViewController.navigationItem.leftBarButtonItem = ...
  print(detailViewController.carteItem.name)
}

许可

Carte 使用 MIT 许可证。 有关更多信息,请参见 LICENSE 文件。