ViewState
添加了检查当前视图控制器的视图状态以及订阅视图状态更改通知的能力。还添加了几个有帮助的属性,可以轻松配置xibs和storyboards中的一些复杂行为。
示例
克隆仓库后打开 Carthage Project/ViewState.xcodeproj
安装
Carthage
请查看官方指南
Cartfile
github "APUtils/ViewState" ~> 2.0
安装命令:carthage bootstrap --use-xcframeworks
CocoaPods
ViewState通过CocoaPods提供。要安装它,只需将以下行添加到您的Podfile中
pod 'ViewState', '~> 2.0'
Swift 包管理器
Swift 包管理器是一种用于自动分发 Swift 代码的工具,并且集成到了 Swift 编译器中。
一旦你设置了 Swift 包,将 ViewState
添加为依赖项与将其添加到你的 Package.swift
文件的依赖项值一样简单。
ViewState.setupOnce()
,否则它不会工作。问题在于 SPM 不支持混合源代码,并且没有 Objective-C 部分的框架无法加载自身。
dependencies: [
.package(url: "https://github.com/APUtils/ViewState.git", .upToNextMajor(from: "2.0.0"))
]
使用方法
UIViewController 子类
- 通过 .viewState 枚举属性扩展 UIViewController。可能的值包括:
.未加载
、.已加载
、.将要出现
、.已出现
、.将要消失
、.已消失
。 - 每个 UIViewController 都会开始发送关于其状态变化的通知。可观察的通知包括:
.UIViewControllerWillMoveToParentViewController
、.UIViewControllerViewDidLoad
、.UIViewControllerViewWillAppear
、.UIViewControllerViewDidAppear
、.UIViewControllerViewWillDisappear
、.UIViewControllerViewDidDisappear
。如有需要,你可以从通知的用户信息字典中检查参数。 - 添加了
.hideKeyboardOnTouch
@IBInspectable 属性,以在触摸外部隐藏键盘。
UIResponder 子类
- 添加了
.becomeFirstResponderOnViewDidAppear
@IBInspectable 属性,在viewDidAppear
时使其成为第一响应者。
UIScrollView 子类
- 添加了
.flashScrollIndicatorsOnViewDidAppear
@IBInspectable 属性,在viewDidAppear
时闪烁滚动指示器。
有关更多详细信息,请参阅示例和测试项目。
贡献
非常欢迎任何形式的贡献!您可以通过GitHub上的pull请求和issue进行贡献。
作者
Anton Plebanovich, [email protected]
许可证
ViewState遵循MIT许可证。有关更多信息,请参阅LICENSE文件。