请等待
快速便捷的进度 UIView,可用于您的应用程序。
什么是请等待?
当您需要显示应用程序中的阻塞进度 UIView 时,请等待是一种快速将其放入应用程序的方法。默认设置配置后,将适用于大多数用例,但已足够可定制以覆盖更多用例。请您尽力避免阻塞视图。
为什么使用请等待?
- Swift API
- 轻量级。无依赖。
- 对 UI 测试友好。
- 默认值配置,适用于95%的用例。在那些其他情况下可进行自定义。
- 完整的测试套件。
- 完整的文档.
我推荐您查看两个与 PleaseHold 好协作的库: Empty 和 Swapper。
安装
PleaseHold可以通过CocoaPods获得。要安装它,只需将以下行添加到您的Podfile中
pod 'PleaseHold', '~> version-here'
将version-here
替换为:,因为这将是此时的最新版本。
入门
- 在您的
UIViewController
中创建PleaseHoldView
的实例。您可以通过Storyboard这样做,向Storyboard添加一个UIView
并将其类设置为,或通过Swift代码创建一个实例
let pleaseHoldView: PleaseHoldView = {
let view = PleaseHoldView()
view.title = nil // title is optional
view.message = nil // message is optional
view.translatesAutoresizingMaskIntoConstraints = false
return view
}()
- 将
PleaseHoldView
添加到您的UIViewController
。很简单。
如果您想更改标题或消息UILabel
的文本,您可以在运行时更改它们
pleaseHoldView.title = "New title"
pleaseHoldView.message = "New message"
或者,如果您想隐藏其中一个标签,只需将其设置为nil
pleaseHoldView.title = nil
pleaseHoldView.message = nil
配置PleaseHold
PleaseHold无需配置即可正常运行。但是,如果您希望自定义它,您也可以这样做。
如果您想更改您应用程序中所有PleaseHold
实例的默认值,请在默认单例中更改值
PleaseHold.defaultConfig.viewPadding = 10.0
或者,您可以为单个PleaseHold
实例进行配置
let pleaseHoldView = PleaseHoldView()
pleaseHoldView.config.newTitleLabel = {
let label = PleaseHoldViewConfig.defaultTitleLabel
label.textColor = .blue
return label
}
pleaseHoldView.title = "Set title here, it will have blue text color!"
为了创建可重用的配置,建议创建一个PleaseHoldViewConfigPresent
/// Convenient set of `UIView`s that are dark in color. Great for light colored backgrounds.
public struct DarkPleaseHoldViewConfigPreset: PleaseHoldViewConfigPreset {
/// Dark colored title label.
public var titleLabel: UILabel {
let label = PleaseHoldViewConfig.defaultTitleLabel
label.textColor = .darkText
return label
}
/// Dark colored message label.
public var messageLabel: UILabel {
let label = PleaseHoldViewConfig.defaultMessageLabel
label.textColor = .darkText
return label
}
/// Dark colored activity indicator.
public var activityIndicator: UIActivityIndicatorView {
let indicator = PleaseHoldViewConfig.defaultActivityIndicator
indicator.style = .gray
return indicator
}
}
let pleaseHoldView = PleaseHoldView()
pleaseHoldView.config = DarkPleaseHoldViewConfigPreset().config
为了方便起见,PleaseHold
包含了一个浅色和深颜色的预设:`DarkPleaseHoldViewConfigPreset`和`LightPleaseHoldViewConfigPreset`,您可以使用或扩展它们。
您可以为PleaseHold
配置很多内容。有关所有配置选项的列表,请查看PleaseHoldViewConfig文档
示例
请持有时附带了你可以用来玩这个库的示例应用程序。要运行示例项目,首先将仓库克隆,然后在Example目录中运行pod install
。接着,在XCode中打开工作空间。
开发
请持时是一个相对简单的CocoaPods库项目。按照以下说明以获得最佳开发体验。
- 安装cocoapods/gems并设置工作空间
$> bundle install
$> cd PleaseHold/Example
$> pod install
- 通过overcommit设置git钩子来运行git使用时的杂项任务。
$> overcommit --install
作者
贡献
请持时欢迎pull requests。查看任务列表,看看我计划在哪些任务上工作。如果愿意贡献,可以查看这些任务。
想要为请持时添加功能吗?在你决定花大量时间添加库功能之前,请先创建一个issue,说明你想要添加什么功能。这可能会节省你一些时间,以防你的目的不符合请持时的使用场景。
许可
请持时在MIT许可下提供。更多信息请参阅LICENSE文件。