HYBHelperKit

by CoderJackyHuang

CoderJackyHuang /HYBHelperKit

日常开发必不可少的神器之一,UIBlockKit、UIMakerKit、UIKit、CommonKit、FoundationKit、Controllers、Constants等集于一身的神器!

455 Stars 110 Forks Last release: Not found MIT License 52 Commits 4 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

HYBHelperKit

Build Status CocoaPods

日常开发必不可少的神器之一,UIBlockKit、UIMakerKit、UIKit、CommonKit、FoundationKit、Controllers、Constants等集于一身的神器!

目前具备的功能:

  • 通用的宏定义、blcok定义等,详细请阅读HYBCommonKit.h
  • 对常用的UI控件再次简化调用,配合Masonry自动布局,及block版本的事件响应回调,一句代码搞定!
  • 对常用的Foundation库中的类添加分类,以减少崩溃的概率
  • 对常用的控制器类的通用功能集成到基类中,如通知监听及释放、导航条配置、测试入口类、base url列表选择入口等
  • 对常用的控件封装成block版本

目录划分

  • CommonKit:将常用的宏和短代码简化成宏或者block定义
  • UIBlockKit:将常用的UI控件变成block版本,以辅助UIMasonryMaker生成最简单的版本
  • FoundationKit:主要扩展日常使用到的基础类,添加分类,追加常用的API
  • UIMasonryKit:基于Masonry生成控件,以简化代码,增加可读性
  • Constants:经常使用到的常量定义
  • UIKit:常用的UI控件分类,以简化开发
  • Controllers:辅助控制器,比如用于测试期使用的接口baseurl访问和建立测试中心入口,基类控制器等

单元测试

对于FoundationKit是经过单元测试的!对于UI组件,并没有进行单元测试,不过已在某项目中使用,目前未出现问题。

使用

pod 'HYBHelperKit'

API风格

  • 所有扩展公开API及属性都有hyb_前缀
  • 部分类公开API及属性也有hyb_前缀
  • 所有API都有详细的注释

基础使用

// 非系统返回按钮
kWeakObject(self);
[self hyb_setNavLeftButtonTitle:@"Back" onCliked:^(UIButton *sender) {
  [weakObject.navigationController popViewControllerAnimated:YES];
}];
[self.hyb_leftButtonItem setTitleColor:kBlueColor forState:UIControlStateNormal];

// 一行搞定导航条 [self hyb_setNavTitle:@"Test1" rightTitles:@[@"btton1", @"button2"] rightBlock:^(NSUInteger index, UIButton *sender) { NSLog(@"clicked at index: %ld", index); }];

[self.hyb_rightButtonItems enumerateObjectsUsingBlock:^(UIButton * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { [obj setTitleColor:kPurpleColor forState:UIControlStateNormal]; }];

创建tableview

提供了多种API,这只是其中一种:

  self.tableView = [UITableView hyb_tableViewWithSuperview:self.view delegate:self constraints:^(MASConstraintMaker *make) {
    make.left.right.bottom.mas_equalTo(0);
    make.top.mas_equalTo(self.customNavView.mas_bottom);
  }];

创建按钮

  UIButton *enterButton = [UIButton hyb_buttonWithTitle:@"立即进入" superView:itemView1 constraints:^(MASConstraintMaker *make) {
    make.right.mas_equalTo(-10);
    make.height.mas_equalTo(25);
    make.centerY.mas_equalTo(itemView1);
    make.width.mas_equalTo(80);
  } touchUp:^(UIButton *sender) {

}];

更多还是查看源代码吧!

声明

本开源项目会持续维护,如果有bug或者觉得可以抽一个轮子的,请拉一个issue或者pull request过来!如果想到博客中阅读,欢迎访问http://www.huangyibiao.com/ios-hybhelperkit/

History Versions

  • V0.1.0
    • Fix bugs
    • Add NSDate common APIs in FoundationKit.
  • V0.1.1
    • Fix bugs
    • Upload pod to support
  • V0.2.0
    • Add UIKit categories, as UIAlertView, UIActionSheet.
    • Fix hyb_trimLeft crash bug when not enough length string.
    • Fix hyb_leftMarginOfCursor using _cmd will get nil because of getter and setter _cmd is not the same.

LICENSE

MIT

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.