您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > IOS框架文档V1.1
IOS框架文档总结整理下一个快速开发MVVM框架(抛砖引玉),主要用于分离控制器中的代码,降低代码耦合程度,可以根据自己使用习惯调整代码。一、架构结构模块采用MVC方法,如有复杂逻辑可采用MVVM模式处理二、三方库(1)、AFNetworking网络请求库(2)、FMDB数据库(3)、MJExtension模型转换(4)、NetHttpLog网络请求日志(5)、SDWebImage图片加载库(6)、SGAdvertScrollView滚动广告库(7)、IQKeyboardManager键盘管理(8)、WRNavigationBar导航管理(9)、BRPickerView日期选择器(10)、UITableView-NXEmptyView表格无数据库(11)、TZImagePickerController图片选择器(12)、NetHttpLog网络请求日志(13)、SDCycleScrollView轮播图库(14)、YNPageScrollMenuViewPage滚动视图tab标题(15)、SSZipArchiveZIP解压缩(16)、MQTTClient物联网通信协议inhibit_all_warnings!去掉警告(注意是去掉一些,不是所有)三、编码规范(一)文件命名规范1、视图控制器命名:以VC+模块+子模块例:VCHomeVCHomeCategory2、UITableViewCell:以Cell+模块例:CellHomeCellHomeCategory3、UITableView中Section:以Section+模块例:SectionHomeSectionHomeCategory4、UIView:以View+模块例:ViewHomeViewHomeCategory(二)属性命名规范1、UILabel以lb+名称例:lbNamelbDesc2、UIView以v+名称例:vLinevBg3、UIImageView以iv+名称例:ivAvatarivIcon4、UITextField以tf+名称例:tfTexttfName5、UITextView以tv+名称例:tvDesctvRemark6、UIButton以btn+名称例:btnSubmitbtnCancel(三)统一名称1、视图VC中的UITableView以table名称统一2、视图VC中的UITableView数据数组dataSource3、视图VC中的UICollectionView以collView名称统一(四)统一方法1、updateData方法用于所有view写测试数据时调用2、updateData:(NSDictionary*)data方法用于所有view真实数据更新调用3、calHeight方法用于返回view自定义高度4、initMain方法用于VC初始化主数据等工作(五)VC控制器编码规范1、Events2、Delegate3、GetterSetter例:VCHome.m#pragmamark–Events-(void)initMain{}#pragmamark–UIScrollViewDelegate-(void)scrollViewDidScroll:(UIScrollView*)scrollView}#pragmamark-GetterSetter)tableView{-(UITableView*)table(六)布局规范1、VC布局-(void)viewWillLayoutSubviews{[superviewWillLayoutSubviews];//必须调用CGFramer=self.lbName.frame;r.size.width=100*RATIO_WIDHT750;r.size.hegith=20*RATIO_WIDHT750;r.origin.x=10*RATIO_WIDHT750;r.origin.y=20*RATIO_WIDHT750;self.lbName.frame=r;}2、ViewCell等布局-(void)layoutSubviews{[superlayoutSubviews];//必须调用}3、UILabel计算高度CGSizes=[_lbNamesizeThatFits:CGSizeMake(MAXFLOAT,15*RATIO_WIDHT750)];4、属性调用属性初始化时都以_下划化加名称方式例_lbName.text=@””;其他地方调用则用self.lbName.text=@””;(七)编码Block1、__weak(快捷名称)__weaktypeof(self)weakself=self;2、assign@property(nonatomic,assign)classname;4、strong@property(nonatomic,strong)class*name;5、sean-table-create返回代码tablesection数量,section下的row数量,height、cell、header、footer、点击等回调方法6、sean-collview-create返回代码collview的section数量,section下的row数量,height、cell、点击等回调方法7、sean-label-create_lbName=[[UILabelalloc]initWithFrame:CGRectZero];_lbName.textColor=RGB3(0);_lbName.font=[UIFontsystemFontOfSize:12*RATIO_WIDHT750];[self.contentViewaddSubview:_lbName];8、sean-imageview-create_ivIcon=[[UIImageViewalloc]initWithFrame:CGRectZero];_ivIcon.image=[UIImageimageNamed:@];_ivIcon.backgroundColor=APP_COLOR;[self.contentViewaddSubview:_ivIcon];9、sean-button-create_btnLogin=[[UIButtonalloc]initWithFrame:CGRectZero];[_btnLoginsetTitle:@forState:UIControlStateNormal];[_btnLoginsetTitleColor:[UIColorwhiteColor]forState:UIControlStateNormal];_btnLogin.backgroundColor=RGB(255,0,0);_btnLogin.titleLabel.font=[UIFontsystemFontOfSize:12*RATIO_WIDHT750];_btnLogin.tag=100;[_btnLoginaddTarget:selfaction:@selector(clickAction:)forControlEvents:UIControlEventTouchUpInside];10、sean-textfield-create_tfName=[[UITextFieldalloc]initWithFrame:CGRectZero];_tfName.font=[UIFontsystemFontOfSize:14*RATIO_WIDHT750];_tfName.textColor=[UIColorblackColor];_tfName.placeholder=@;[self.contentViewaddSubview:_tfName];11、sean-cell-delete返回tableviewcell中带有侧滑删除12、sean-cell-initcell初始化及共有方法13、sean-view-initview初始化及共有方法14、sean–method-create返回方法体15、sean-label-getter-setter-(UILabel*)lbName{if(!_lbName){_lbName=[[UILabelalloc]initWithFrame:CGRectZero];_lbName.text=@;_lbName.textColor=RGB3(0);_lbName.font=[UIFontsystemFontOfSize:12*RATIO_WIDHT750];}return_lbName;}16、sean-imageview-getter-setter同上格式17、sean-button-getter-setter同上18、sean-textfield-getter-setter同上19、sean-view-getter-setter同上20、sean-table-getter-setter同上21、sean-collview-getter-setter同上22、sean-protocol-create返回代理定义格式23、sean-table-delegateUITableViewDelegate,UITableViewDataSource24、sean-collview-delegateUICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout25、sean-window-h返回windowhead定义26、sean-window-m返回window自定义实现27、sean-code-mark返回编码注释分栏四、开发中常用方法1、生成二维码+(UIImage*)createImageWithString:(NSString*)stringwithSize:(CGFloat)size;2、UITextView设置PlaceHolder-(void)setPlaceholder:(NSString*)placeholdStrplaceholdColor:(UIColor*)placeholdColor;3、UILabel加载Html代码@property(nonatomic,assign)BOOLisHtml;//是否是html代码例lb.isHtml=TRUE;4、UILabel设置中画线-(void)setCenterLine;6、NSDate转指定格式日期字符串-(NSString*)formterToStr:(NSString*)style;7、NSString把原格式日期转传入的格式-(NSString*)parseDateStringFrom:(NSString*)fromStyleto:(NSString*)toStyle;8、NSString把标准yyyy-MM-ddHH:mm:ss日期转传入的格式-(NSString*)parseDateString:(NSString*)formatterStyle;9、NSString时间戳转指定日期格式字符串+(NSString*)timeStampConverTime:(NSTimeInterval)timeStamptoStyle:(NSString*)style;10、NSStringHTML5编码字符串+(NSString*)htmlEntityDecode:(NSString*)str;11、UIImageView圆角效果UIImageView*imageView=[[UIImageViewalloc]initWithRoundingRectImageView];[imageViewsetFrame:CGRectMake(130,80,30,30)];[self.viewaddSubview:imageView];UIImageView*imageViewSecond=[[UIImageViewalloc
本文标题:IOS框架文档V1.1
链接地址:https://www.777doc.com/doc-3913877 .html