近期对项目中所经常使用到的封装代码进行整理,并将其上传至网络保存,本人会在后期不间断的更新其内容。具体链接地址为代码封装

关于代码

这些代码为从学习iOS来到现在实际项目开发中,精炼出来的封装代码,使用相对简单,由于所做的项目开发难度相对较小,所以这里封装的一些都属于常用的小工具。希望能给大家带来便利。下面是几个具体封装类的使用方法

BQScreenAdaptation.h

此类主要是为了屏幕适配所写,使用的原理为等比例适配。不同于传统的等比例适配,笔者的等比例全部是基于屏幕宽度来进行等比例计算。经过两个项目的编写发现使用此类的好处在与可以直接适配iPhone的所有机型分辨率。由于全部以宽来进行等比例所以布局出来的高度可能会超出实际屏幕高度。在这里笔者的解决方案为设计一个容器视图(scrollView)用以添加界面,若布局后的视图超出屏幕只需要再设置容器视图的画布展示大小即可。

/**
将IPHONE_WIDTH改为对应设计图的宽度
在使用的时候直接使用BQAdaptationFrame函数
还原为其设计图上的坐标位置,需要除以BQAdaptationWidth()
*/
#define IPHONE_WIDTH 375
在此类中添写View和CALayer的类目,可以用top、left、right、bottom等访问对应的orign.x、orign.y、width、height等属性

BQNetWork.h

网络请求类,笔者个人封装的网络请求,使用简单方便。功能不如AFNetwork强大,但胜在简便,轻量。使用方法如下所示

/**  网络请求 */
+ (void)asyncDataWithUrl:(NSString *_Nullable)urlString
parameter:(NSDictionary *_Nullable)parameter
netWorkType:(NetWorkType)netWorkType
hasAnimation:(BOOL)hasAnimation
compeletedHandle:(void(^_Nullable)(id _Nullable content,BOOL success))handle;
/** 可配置请求头的网络请求 */
+ (void)asyncDataWithUrl:(NSString *_Nullable)urlString
parameter:(NSDictionary *_Nullable)parameter
headerParameter:(NSDictionary *_Nullable)headerParameter
netWorkType:(NetWorkType)netWorkType
hasAnimation:(BOOL)hasAnimation
compeletedHandle:(void(^_Nullable)(id _Nullable content,BOOL success))handle;
/** 上传头像请求 block回传字典格式必须为@{"key":图片对应key值,"name":上传到服务器名字,"data":图片data数据} */
+ (void)postUploadWithUrl:(NSString *_Nullable)urlString
parameter:(NSDictionary *_Nullable)parameter
picBlock:(NSDictionary *_Nullable(^_Nullable)())picBlock
netWorkType:(NetWorkType)netWorkType
hasAnimation:(BOOL)hasAnimation
compeletedHandle:(void(^_Nullable)(id _Nullable content,BOOL success))handle;

BQImagePickVc

图片选择器,经过封装后的图片选择器非常简单,自动判断时候支持照相功能,使用只需推出视图即可

//此处需要让BQImagePickVc被持有,否则会造成崩溃
[self.imagePick showPickerImageMessageWihtVc:self handleImage:^(UIImage *image) {
NSLog(@"%@",image);
}];

BQTools.h

此类的方法较多,具体参看头文件

NSString+safe.h

关于NSString加密解密处理的方法类目,包含有MD5和SHA散列加密,另含NSSrring和NSData的Base64加密解密

BQKit

其中BQWeakProxy和BQFPSLabel为模仿YYKit所写的虚拟代理类和帧数检测类,用以防止循环引用所和检测刷新频率使用。BQTextFieldView为所写的一个文本框视图,效果图如下

后期有新的封装会持续加入,若代码中有何不妥之处欢迎指出。

关于近期项目代码整理(iOS)的更多相关文章

  1. iOS:使用Github托管自己本地的项目代码方式三(命令行方式: Terminal Line)

    使用终端命令行将本地项目代码上传到github上进行托管 对于IOS开发者来说,Github的使用是必须要掌握的一种技能,而把项目由本地上传到Github有多种方式 1.开发工具Xcode配置Git, ...

  2. Python爬虫开源项目代码,爬取微信、淘宝、豆瓣、知乎、新浪微博、QQ、去哪网等 代码整理

    作者:SFLYQ 今天为大家整理了32个Python爬虫项目.整理的原因是,爬虫入门简单快速,也非常适合新入门的小伙伴培养信心.所有链接指向GitHub,祝大家玩的愉快 1.WechatSogou [ ...

  3. iOS:使用Github托管自己本地的项目代码方式一:(Xcode方式:开发工具Xcode配置Git,由Xcode-->Source Control-->Commit)

    管理代码的地方主要有:Github(国外流行).CocoaChina.Cocoa4App.中国开源社区.CSDN.博客园.简书等等..... 现在主要介绍如何使用Github托管自己的项目代码. 尊重 ...

  4. IOS常用代码整理

    常用代码整理: 12.判断邮箱格式是否正确的代码: //利用正则表达式验证 -(BOOL)isValidateEmail:(NSString *)email { NSString *emailRege ...

  5. 随手记今天跟的几个iOS项目代码的问题

    休了一阵子假期,今天刚回来上班,项目代码已经有挺大的变化了,我就先体验.发现.跟进问题. 第一个问题是点击某个cell就挂掉的现象,同事表示必现但挺神奇.由于挂掉的时候没有啥有意义的信息,所以先简单粗 ...

  6. iOS:使用Github托管自己本地的项目代码方式二(客户端方式: Github Desktop)

    管理代码的地方主要有:Github(国外流行).CocoaChina.Cocoa4App.中国开源社区.CSDN.博客园.简书等等..... 前面已经介绍了如何使用命令行和Xcode将本地代码上传到G ...

  7. iOS 统计项目代码行数

    最近去面试 对面的"他" 问我其中一个问题 是 "你的项目代码量是多少?" 当时的确有点蒙圈, 我可以从整个项目打包的角度考虑项目大小,我还真没想过到底我的项目 ...

  8. php代码规范->如何写出规范且易于理解的项目代码-ZX版

    2019年5月17日10:50:12 前序: 目前是想到哪写到哪,后面有时间在整理成具体文章 很多时候,PHP代码风格过于自由,导致一个项目有N多种写法风格,有些人为了自己认为的技术"高&q ...

  9. 【转载】借助GitHub托管你的项目代码

    PS:自己关注博客园有2年之久了,不久前才申请注册账号.GitHub也差不多一年多了,因英语水平刚刚及格,所以去GitHub没有博客园多,也是几个月前才注册了账号,前几天休息时看到 EdisonCho ...

随机推荐

  1. HTML5的postMessage使用记要////////////////////////////zzzzzzzz

    2014-11-09 20:17:27http://jo2.org/html5-js-postmessage-tips/--点击数:2710     HTML5提出了一个新的用来跨域传值的方法,即po ...

  2. 20.谈谈对mvc的认识。

    MVC是 模型(Model) .视图(View).控制器(Control) 的英文首字母的缩写,核心思想是:视图和用户交互 通过事件导致控制器改变 控制器改变导致模型改变 或者控制器同时改变两者 模型 ...

  3. Java程序猿学习的建议(转)

    第一部分:对于尚未做过Java工作的同学,包括一些在校生以及刚准备转行Java的同学. 一.Java基础 首先去找一个Java的基础教程学一下,这里可以推荐一个地址,或者你也可以参照这个地址上去找相应 ...

  4. chkconfig命令详解

    chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法:chkconfig [--ad ...

  5. Qt 工程 pro文件

    工作中,感觉pro文件的有些内容真不太懂,现系统性的学习一下.于此备录,分享共勉. 为了更好的理解,先创建一个简单的工程作为实践. [1]创建一个pro文件 1.1 新建proDemo工程.步骤如下: ...

  6. CSS3 笔记三(Shadow/Text/Web Fonts)

    CSS3 Shadow Effects text-shadow box-shadow 1> text-shadow The text-shadow property adds shadow to ...

  7. 09A-独立按键消抖实验01——小梅哥FPGA设计思想与验证方法视频教程配套文档

    芯航线--普利斯队长精心奉献   实验目的: 1.复习状态机的设计思想并以此为基础实现按键消抖 2.单bit异步信号同步化以及边沿检测 3.在激励文件中学会使用随机数发生函数$random 4.仿真模 ...

  8. iOS开发零碎知识点

    记录一些常用和不常用的iOS知识点,防止遗忘丢失.(来源为收集自己项目中用到的或者整理看到博客中的知识点),如有错误,欢迎大家批评指正:如有好的知识点,也欢迎大家联系我,添加上去.谢谢! 一.调用代码 ...

  9. Bash:-:-获取未来40天的日期

    <---获取40天日期数组---> ..};do echo "$(date --date=''${i}' days ago' "+%Y%m%d")" ...

  10. ML-线性回归

    记样本数目为$m$,样本点$i$用$(x^{(i)}, y^{(i)})$表示,其中 $x^{(i)}=\begin{pmatrix}x_1^{(i)}\\ x_2^{(i)}\\ ...\\x_n^ ...