我需要显示状态/活动视图,同时允许在视图的其他部分进行用户交互。与许多其他项目不同,我需要在每个视图(或视图控制器)中显示状态视图,而不是在应用程序的全局范围内。我没有找到满足我需求的项目,所以我创建了此项目。
JCActivityBar 允许向任何视图控制器添加可处理显示状态/活动消息的视图。
可在 Demo
目录中找到一个可工作的示例 iOS Xcode 项目。
#import "JCActivityBar.h"
- (void) viewDidLoad {
if (!self.activityBar) {
self.activityBar = [[JCActivityBar alloc] init];
[self.activityBar positionInBottomOfView:self.view withBottomOffset:20.0];
}
[self.view addSubview:self.activityBar];
}
- (IBAction) displayMessageButtonTapped:(UIButton*)sender {
[self.activityBar displayActivityWithMessage:@"Activity description."];
float delayInSeconds = self.secondsDelayStepper.value;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
[self.activityBar finishWithSuccess:@"Finished!"];
// Or the following for an error:
// [self.activityBar finishWithError:@"Error."];
});
}
此项目包括一个用于与 CocoaPods 使用的 podspec
。只需将其添加到您的 Podfile
并运行 pod install
。
pod 'JCActivityBar'
或者,您可以添加此项目 Library
目录下包含的所有文件到您的 Xcode 项目中。如果您的项目不使用 ARC,您将需要启用这些文件的 ARC。您可以通过添加 -fobjc-arc 标志启用每个文件的 ARC,如StackOverflow 上常见问题中所述。
图标来自 Glyphish Pro,可在 http://www.glyphish.com(不是我的项目!)中以 25 美元的小额费用获得无限项目的许可证。如果您使用此项目,您需要用图标替换图标或获取 Glyphish Pro 许可证。
该项目受 Zac Altman 的 ZAActivityBar 项目的启发,该项目可在https://github.com/zacaltman/ZAActivityBar/ 找到。与 Zac 的项目不同,我需要的活动栏需要与特定的视图链接(例如,每个视图控制器)而不是应用的全局。
该项目受 MIT 许可证许可。所有版权权利均归我所有。
版权所有(c)2013 James Coleman
特此授权任何人获得本软件及其相关文档文件(以下简称“软件”)的副本,免费使用、分发软件,包括但不限于使用、复制、修改、合并、发布、分发、许可和/或销售软件副本,并允许使用该软件之人进行上述操作,但需遵守以下条件:
以上版权声明和本许可声明应包含在软件全部副本或主要部分中。
软件按“现状”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、特定用途适用性和非侵权性担保。在任何情况下,作者或版权持有人不对由于合同、侵权或任何其他原因而产生的任何索赔、损害或其他责任承担责任,无论该索赔与软件有关、使用软件或与软件的其他操作有关。