SKSpinner 是一个 iOS 控件,可以在任务处理时显示加载器。
SKSpinner 在任何 iOS 版本上运行,兼容 ARC 项目。它依赖于以下 Apple 框架,这些框架通常包含在大多数 Xcode 模板中:
或者您可以直接将源文件 SKSpinner.h
和 SKSpinner.m
添加到您的项目中。
SKSpinner.h
和 SKSpinner.m
到项目中(使用“产品导航视图”)。如果您在项目外提取了代码存档,请确保选择复制项目。#import "SKSpinner.h"
在需要的地方包含 SKSpinner。(在 /Demo
中查看 Xcode 示例项目)
在处理长时间运行的任务时,处理 SKSpinner 的主要指导原则是保持主线程空闲,以便及时更新 UI。因此,推荐使用 SKSpinner 的方法是将其设置在主线程上,然后在新线程上运行你想要执行的任务。
[SKSpinner showTo:self.view animated:YES];
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
// Do something...
dispatch_async(dispatch_get_main_queue(), ^{
[SKSpinner hideAnimated:NO];
});
});
如果您需要配置旋转器,可以使用 initWithView: 返回的 SKSpinner 引用进行。
SKSpinner *spinner = [[SKSpinner alloc] initWithView:self.view];
spinner.minShowTime = 5.f;
spinner.color = [UIColor greenColor];
[spinner showAnimated:YES];
[self doSomethingInBackgroundWithProgressCallback:^(float progress) {
// Do something...
} completionCallback:^{
[spinner hideAnimated:YES];
}];
API 文档在头文件 (SKSpinner.h) 中提供。
本代码根据 MIT 许可证的条款和条件分发。