UserInterface
描述
UserInteface是一个专门针对使用Swift构建用户界面而优化的便利扩展集合。它作为您忠诚的助手,提高您的超能力。它涵盖了诸如在可重用组件上注册单元格、设置约束而无需重新发明轮子以及使栈视图在代码中构建和维护起来更加容易等内容。该框架旨在解决问题,而不是解决所有问题,它旨在基于个人经验解决最常见的障碍。
特性
-
🍭 为表格和集合视图提供了丰富的资源。 -
🏎 编写更少,做得更多。 -
📐 轻松控制约束。 -
📱 iOS支持。 -
💻 macOS支持。 -
📺 tvOS支持。
使用方法
以下所描述的方法使用UITableView
作为示例,对于UICollectionView
也以同样的方式工作。它为集合视图布局提供了额外的属性。为了使生活更容易,方法也有macOS的等效实现,这样您在编写macOS代码时就不需要切换上下文。
设置并注册可重用组件上的单元格
import UserInterface
let dataSource = DataSource()
let tableView = UITableView(dataSource: dataSource, register: Cell.self)
在数据源中取消排队单元格
import UserInterface
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let model = model(at: indexPath) // Retrieves the model from an array.
return tableView.dequeue(Cell.self, with: model(at: indexPath), for: indexPath) { view, model in
view.textLabel?.text = model.name
}
}
设置约束
NSLayoutConstraint.constrain(activate: true) {
customView.centerXAnchor.constraint(equalTo: centerXAnchor),
customView.centerYAnchor.constraint(equalTo: centerYAnchor)
}
使用约束将自定义视图固定在其超视图上
superview.addSubview(customView, pin: true, insets: .init(top: 0, left: 30, bottom: 0, right: -30))
添加多个视图
view.addSubviews(view1, view2, view3)
设置具有标题和类型的按钮。
let button = UIButton(title: "A", type: .system)
创建内容模式下的图像视图。
let imageView = UIImageView(image: image, contentMode: .scaleAspectFit)
创建标签
let label = UILabel(text: "A",
font: font,
textColor: color,
textAlignment: .center,
numberOfLines: 2)
安装
用户界面 通过 CocoaPods 提供使用。要安装,请将以下行添加到您的 Podfile
pod 'UserInterface'
用户界面 同时也通过 Carthage 提供使用。要安装,只需将以下内容写入您的 Cartfile
github "zenangst/UserInterface"
用户界面 还可以手动安装。只需下载并将 源
文件夹拖放到您的项目中。
作者
- Christoffer Winterkvist, [email protected]
- Vadym Markov, [email protected]
- Khoa Pham, [email protected]
贡献
我们非常欢迎您为 用户界面 做出贡献,有关更多信息的请查阅 贡献指南
许可证
用户界面在MIT许可证下可用。有关更多信息,请参阅许可证文件。