RogueKit2 0.3.0

RogueKit2 0.3.0

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布最后发布2017年3月

RogueAndy 维护。



RogueKit2 0.3.0

  • RogueAndy

这个库是在空闲时间将 MBProgressHUD 封装得更简单,让自己使用起来更方便。但是发现越来越喜欢一些简单的封装,然后,,,有空就无聊写一点简单的东西,也希望自己的 pod 能够被大家使用。好吧,这类库中,有三个比较完整的功能。

导入 pod 方法

目前只支持 pod, pod 'RogueKit2'

RgLoginViewController

这是一个静态类方法,可以选择在加载时有默认的菊花类型和 gif 动态图类型。如果想显示 gif 图片,使用 [RgLoadingController showLoadingActivityViewOn:self hudType:RgLoadingGIF titleOrGif:@"RgRefresh"],其中 @"RgRefresh" 代表了 gif 的项目中的名称。当然,您也可以使用 MBProgressHUD 一些默认的效果,只不过在线程上,我做了同步,即在显示加载时,只能同时存在最多一个菊花效果,并且只需要一行代码就能实现。 [RgLoadingController showLoadingSoonDisplayActivityViewOn:self hudType:RgLoadingDefault titleOrGif:@"哈哈哈" withAfter:2 withComplete:^{ NSLog(@"执行完之后打印出回调函数 block"); }]。

RogueCache

一个简单的缓存类,使用 NSUserDefaults 进行缓存设置。它与 RogueViewControllerTranstion(下一个要讲到的内容)结合使用,是全局单例变量。例如以下方法:

  • (void)setSessionValues:(nullable RogueUserObject *)user;这是存储缓存的方法,需要指出的是,如果要在项目中使用,则缓存的类型必须继承自 RogueUserObject,否则,执行此方法时,程序会崩溃。例如,用户状态变更,比如登录/退出等,想使用通知来改变程序的一些权限,可以使用这个方法,+ (void)refreshUserSession:(nullable RogueUserObject *)user;此方法是用来刷新用户信息,可以传递空值。此方法最好与 + (void)notificationResponseWithBlock:(nonnull void (^)(NSString * _Nonnull key))response 方法一起使用。例如,在 ViewController 控制器中,首先写入如下方法:__weak RgMBViewController *weakSelf = self; [RogueCache notificationResponseWithBlock:^(NSString * _Nonnull key) { [[NSNotificationCenter defaultCenter] addObserver:weakSelf selector:@selector(changeOther:) name:key object:nil]; }];

当我点击某个按钮后,按钮响应的时间效果开始调用 [RogueCache refreshUserSession:rogueUserObject] 这个方法来刷新用户状态,然后,它会自动调用前者的 block 里的方法以此响应通知。您可以看看我在程序里的 changeOther 方法:- (void)changeOther:(NSNotification *)notification {

RgUserObject *rg = (RgUserObject *)notification.userInfo[@"RogueCacheUserSessionKey"];
NSLog(@"%@", rg.cards);

}

RogueViewControllerTranstion

这是转场动画的一个类,这个类暂时没有发现什么 bug,希望大家能够指出。关于它的使用,因为它结合到 RogueCache,所以在响应事件时,如点击某个按钮需要 push 到新的界面,那么在按钮对应的方法里,需要添加以下代码:[RogueCache shareInstance].transtionType = RoguePushTopToBottomPresentTranstion; [RogueCache shareInstance].transtionDuration = 0.4; 前者是转场效果,后者是转场时间。

暂时就这些简单的功能,本来还有一些结构上的封装,但考虑到有待测试,所以以后再拿出来。所以,如果这里的程序有 bug,希望大家能够指出,我会认真修改,谢谢。