Skip to content

sujeking/MUKit

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MUKit

CI Status Version License Platform

Example

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

MUKit.h

MUKit.h除了包含框架的大部分头文件,还包含大量提高效率的宏。如判断系统版本、加载本地图片、转字符串、实例化一个类、iPhone型号、版本号等

Signal

传统的事件实现方式:
UIButton *button = [UIButton new];
[button addTarget:self action:@selector(action) forControlEvents:UIControlEventTouchUpInside];
Signal的事件实现方式:
 在需要实现响应事件的view或者controller实现Click_MUSignal(signalName)方法即可,例如
 Click_MUSignal(signalName){//signalName是控件的属性名

 }
Signal priority:view(控件所在的view)>cell(控件所在的UITableViewCell或者UICollectionViewCell)>controller(控件属于的控制器)

image


MUTableViewManager

tableview的MVVM封装,在正确设置autolayout可以自动计算行高和自动缓存行高而无需任何设置。可以节省大量的代理方法代码。 @“result”为模型的关键字,tableViewManger会自动拆解模型,可在renderBlock返回自定义的cell、高度;如果你没有指定高度,会自动计算高度并缓存

 self.tableViewManger.renderBlock = ^UITableViewCell *(UITableViewCell *cell, NSIndexPath *indexPath, id model, CGFloat *height) {
 cell.textLabel.text = [NSString stringWithFormat:@"%@",model];
 return cell;
 };
 self.tableViewManger.selectedCellBlock = ^(UITableView *  tableView, NSIndexPath *  indexPath, id  model, CGFloat *  height) {
 }

可以返回nil或者自定义的view。可动态设置每一个header的高度和标题。默认为44point,这个高度并不会被缓存

*title  = @"Demo";

return nil;
};
self.tableViewManger.footerViewBlock = ^UIView *(UITableView *tableView, NSUInteger sections, NSString *__autoreleasing *title, id model, CGFloat *height) {

*title = @"我想写就写";
return nil;
};

MUNavigation

对UINavigation的轻度封装,可以设置全局UINavigationBar样式,也可以在需要更改UINavigationBar样式的controller实现自己想要的样式
全局设置

image

局部设置
如果当前控制器有自己的样式,则使用当前控制器的样式,否则使用全局设置

image


MUPayment

封装了Alipay和WeChatPay,只需添加对应的黑白名单以及模式名称和继承MULoadingModel类进行如下初始化

 if (self = [super init]) {
 self.AppDelegateName = @"MUKitDemoAppDelegate";
 self.alipayID        = @"支付宝支付得ID";
 self.alipayScheme    = @"mualipayment";
 self.weChatPayID     = @"申请的微信ID";
 self.weChatPayScheme = @"wx7163dbd76eac21a9";
 self.QQID = @"申请的QQID";
 self.weiboID = @"申请的微博ID";
 }
 return self;
 }

最后在你需要支付的地方调用MUEPaymentManager的类方法直接请求数据,而无需在APPdelegate写任何代码

  [MUEPaymentManager muEPaymentManagerWithAliPay:privateKey result:^(NSDictionary *resultDict) {
  
  }];
  
  [MUEPaymentManager muEPaymentManagerWithWeChatPay:^(PayReq *req) {
  } result:^(PayResp *rseq) {
  
  }];
  

image


MUShared

继承MULoadingModel类进行如下初始化后,直接MUSharedManager的类方法就可以直接分享到微信好友,朋友圈,QQ好友、QQ空间,微博无需在APPdelegate写任何代码

具体参考例子中的signal文件

MUPopupController

具体效果参考STPopup,唯一的区别是添加了一个可以与其它controller交互的resultBlock以及在文本编辑模式下调整MUPopupController的偏移高度

MUCarouselView

具体效果参考SPCarouselView,区别是增加了竖直方向滚动和文字轮播效果

MUAdaptiveView

上传图片的一个常用效果

具体的效果和使用方式建议大家下载demo参考

Requirements

Installation

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

pod "MUKit"

Author

Jeykit, [email protected]

License

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

About

提高iOS开发效率的工具

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 66.5%
  • Objective-C 22.7%
  • C++ 8.4%
  • Ruby 2.4%