BaseViewControllerSwift 3.0.0

BaseViewControllerSwift 3.0.0

Aaron McTavish维护。



  • Shagun Madhikarmi和Aaron McTavish

License Build Status codecov.io Platform Swift

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 文件。