BaseViewController
The BaseViewController 框架为使用 UIKit
编写自定义视图控制器提供了一个组织工具。该框架使用 Swift 3.0 编写。它由 ustwo 的 iOS 开发者开发和使用。
依赖关系
安装
BaseViewControllerSwift 版本与 Swift 版本。
由于 BaseViewControllerSwift 支持许多 Swift 版本,找到您需要的 BaseViewControllerSwift 版本可能会有些困难。以下表格显示了针对您的 Swift 版本应该使用哪个 BaseViewControllerSwift 版本。
Swift 版本 | BaseViewControllerSwift 版本 |
---|---|
5.0 | 3.0.0 |
3.0 | 2.0.0 |
2.1 | 1.0.0 |
CocoaPods
CocoaPods 是 Cocoa 项目的依赖管理器。您可以使用以下命令来安装它:
$ gem install cocoapods
要使用 CocoaPods 将 BaseViewControllerSwift 集成到您的 Xcode 项目中,请在您的 Podfile
中指定它:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.3'
use_frameworks!
pod 'BaseViewControllerSwift', '~> 2.0'
然后,运行以下命令:
$ pod install
手动方式
如果您 prefer 不使用上述任何依赖管理器,您可以将 BaseViewControllerSwift 手动集成到您的项目中。将 BaseViewController.swift
文件从 Sources
文件夹添加到您的 Xcode 项目中。
使用说明
将 BaseViewController
作为您所有自定义视图控制器的基础类。然后覆盖我们的常见设置函数,它们将作为初始化过程的一部分自动调用。
BaseViewController
本身是 UIViewController
的子类。它包含两个空设置函数,由 viewDidLoad()
调用。这些常用设置函数是 setupView()
和 setupAccessibility()
,并且按照此顺序调用。
此外,BaseViewController
还是一个泛型类,它接受一个 UIView
作为类型参数。在 loadView()
阶段,它实例化视图并将其设置为控制器视图。此外,BaseViewController
还提供了一个 underlyingView
属性,用于访问视图,而无需进行类型转换。
示例
以下是使用 BaseViewController
的一些示例实现。在所有示例中,我们都对设置函数调用 super
,但在您的代码中根据需要执行此操作。
控制器定义
当定义您的自定义视图控制器时,从 BaseViewController
继承并指定您的自定义视图。您不需要实例化您的自定义视图或添加访问属性。这是通过 BaseViewController
完成的。
final class ProfileViewController: BaseViewController<ProfileView> {
...
}
setupView
使用setupView()
函数添加目标/动作到控件,设置动态生成值等。
override func setupView() {
super.setupView()
underlyingView.titleLabel.text = profile.name
underlyingView.finishedButton.addTarget(self, action: #selector(ProfileViewController.finishedButtonPressed(_:)), for: .touchUpInside)
}
setupAccessibility
使用 setupAccessibility()
函数向视图中添加动态生成的无障碍信息。
override func setupAccessibility() {
super.setupAccessibility()
underlyingView.profileImage.accessibilityLabel = NSLocalizedString("Image of", comment: "") + " " + profile.name
}
维护者
- Shagun Madhikarmi (@madhikarma)
- Aaron McTavish (@aamctustwo)
联系方式
许可证
BaseViewControllerSwift 以 MIT 许可证发布。见 LICENSE 文件。