{% github it-boyer ArcProgressUI 4b9bc85 width = 30% %}

ArcProgressUI

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Requirements

Installation

ArcProgressUI is available through CocoaPods. To install it, simply add the following line to your Podfile:

1
pod 'ArcProgressUI'

API使用

独立进度表盘加载

1
2
3
4
5
#import "ArcProgressView.h"
NSArray *viewArr = [[NSBundle mainBundle] loadNibNamed:@"ArcProgressView" owner:nil options:nil];
UIView *arcView = viewArr.lastObject;
arcView.backgroundColor = [UIColor redColor];
[self.view addSubview:arcView];

完整控制器页面

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#import "PatrolScoreViewController.h"
+(PatrolScoreViewController *)withStoryboard:(PatrolScoreStyle)style{
NSBundle *podbundle = [NSBundle bundleForClass:[PatrolScoreViewController class]];
NSURL *bundleURL = [podbundle URLForResource:@"ArcProgressUI" withExtension:@"bundle"];
NSBundle *bundle = [NSBundle bundleWithURL:bundleURL];
UIStoryboard *story = [UIStoryboard storyboardWithName:@"PatrolScore" bundle:bundle];
PatrolScoreViewController *VC = [story instantiateViewControllerWithIdentifier:@"PatrolScoreViewController"];
VC.scoreViewStyle = style;
return VC;
}

静态库开发:

设想:通过cocoapod管理静态库的依赖关系。在项目调用静态库

  1. 主工程:prj

  2. 一级静态库: first.a :组件

  3. 二级静态库:组件依赖的静态库

    sec.a : 二级静态库.a pod.a :包含二级静态库的集合

其他经验:通过pod来开发一级静态库即组件。会生成组件的工作空间:workspaceprj主工程拖入工作空间,来协作开发。

坑:当再次切换prj主工程,关联.a组件依赖时,例如:libJHPatrol.a的other linker tag 路径一定要更新。

结果:

  1. 手动配置一级静态库组件,依赖的二级静态库可用 资源bundle文件直接添加到主工程资源拷贝列表中,在代码中会正常映射出IBoutlet相应的UI实例。参见 上述使用说明
  2. -ObjC设置 在主工程build setting 配置的Other linker -ObjC:表示尽可能的加载所有依赖静态库中的objc源码资源。 解决的问题:可以解决通过资源(xib/storyboard)初始化实例式
1
this class is not key value coding-compliant for the key ibReviewLabel

解决在storyboard中使用源码自定义UI控件时,无效果的问题。

  1. 在封装静态库中,storyboard/xib中的控件不要设置model属性。

  2. 使用pod来一级静态库组件,管理依赖的二级静态库libpod.a无效

Author

huo3203@hotmail.com, 724987481

License

ArcProgressUI is available under the MIT license. See the LICENSE file for more info.