关于近期项目代码整理(iOS)
近期对项目中所经常使用到的封装代码进行整理,并将其上传至网络保存,本人会在后期不间断的更新其内容。具体链接地址为代码封装
关于代码
这些代码为从学习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)的更多相关文章
- iOS:使用Github托管自己本地的项目代码方式三(命令行方式: Terminal Line)
使用终端命令行将本地项目代码上传到github上进行托管 对于IOS开发者来说,Github的使用是必须要掌握的一种技能,而把项目由本地上传到Github有多种方式 1.开发工具Xcode配置Git, ...
- Python爬虫开源项目代码,爬取微信、淘宝、豆瓣、知乎、新浪微博、QQ、去哪网等 代码整理
作者:SFLYQ 今天为大家整理了32个Python爬虫项目.整理的原因是,爬虫入门简单快速,也非常适合新入门的小伙伴培养信心.所有链接指向GitHub,祝大家玩的愉快 1.WechatSogou [ ...
- iOS:使用Github托管自己本地的项目代码方式一:(Xcode方式:开发工具Xcode配置Git,由Xcode-->Source Control-->Commit)
管理代码的地方主要有:Github(国外流行).CocoaChina.Cocoa4App.中国开源社区.CSDN.博客园.简书等等..... 现在主要介绍如何使用Github托管自己的项目代码. 尊重 ...
- IOS常用代码整理
常用代码整理: 12.判断邮箱格式是否正确的代码: //利用正则表达式验证 -(BOOL)isValidateEmail:(NSString *)email { NSString *emailRege ...
- 随手记今天跟的几个iOS项目代码的问题
休了一阵子假期,今天刚回来上班,项目代码已经有挺大的变化了,我就先体验.发现.跟进问题. 第一个问题是点击某个cell就挂掉的现象,同事表示必现但挺神奇.由于挂掉的时候没有啥有意义的信息,所以先简单粗 ...
- iOS:使用Github托管自己本地的项目代码方式二(客户端方式: Github Desktop)
管理代码的地方主要有:Github(国外流行).CocoaChina.Cocoa4App.中国开源社区.CSDN.博客园.简书等等..... 前面已经介绍了如何使用命令行和Xcode将本地代码上传到G ...
- iOS 统计项目代码行数
最近去面试 对面的"他" 问我其中一个问题 是 "你的项目代码量是多少?" 当时的确有点蒙圈, 我可以从整个项目打包的角度考虑项目大小,我还真没想过到底我的项目 ...
- php代码规范->如何写出规范且易于理解的项目代码-ZX版
2019年5月17日10:50:12 前序: 目前是想到哪写到哪,后面有时间在整理成具体文章 很多时候,PHP代码风格过于自由,导致一个项目有N多种写法风格,有些人为了自己认为的技术"高&q ...
- 【转载】借助GitHub托管你的项目代码
PS:自己关注博客园有2年之久了,不久前才申请注册账号.GitHub也差不多一年多了,因英语水平刚刚及格,所以去GitHub没有博客园多,也是几个月前才注册了账号,前几天休息时看到 EdisonCho ...
随机推荐
- meta
<meta charset="UTF-8"> <meta name="viewport" content="width=device ...
- JS调用OC方法并传值,OC调用JS方法并传值////////////////////////zz
iOS开发-基于原生JS与OC方法互相调用并传值(附HTML代码) 最近项目里面有有个商品活动界面,要与web端传值,将用户在网页点击的商品id 传给客户端,也就是js交互,其实再说明白一点 ...
- zepto和jquery的区别,zepto的不同使用8条小结
说到诡异事件发生的原因,自然是想到两者之间的差异性. 首先是效果: jquery中有fadeIn和fadeOut两个效果,用来实现渐隐渐显的效果,这个在PC端自然是常用的效果.然后我们前端组的组员Mr ...
- Android--自定义加载框
1,在网上看了下好看的加载框,看了一下,挺好看的,再看了下源码,就是纯paint画出来的,再加上属性动画就搞定了 再来看一下我们的源码 LvGhost.java package com.qianmo. ...
- IPC-->PIPO
Programing python 4th page 228 """ IPC http://www.cnblogs.com/BoyXiao/archive/2011/01 ...
- 使用Apache Ambari管理Hadoop
随着Hadoop越来越普及,对合适的管理平台的需求成为当前亟待解决的问题.已经有几个商业性的Hadoop管理平台,如Cloudera Enterprise Manager,但Apache Ambari ...
- 我的第一个hadoop程序
利用virtualbox+win的开发环境搭设好咯,在win下做开发,利用linux跑hadoop,伪分布式的. 上第一个程序 package org.apache.hadoop.examples; ...
- “error LNK2019: 无法解析的外部符号”之分析
最近在用VS 2008开发,初学遇到不少问题,最头疼的问题之一就是:LNK2019. 百度一下讲的并不够全面,反正都没解决我的问题. error LNK2019问题在VC 6.0中是error LNK ...
- 大规模web 服务开发技术
<大规模web 服务开发技术> 是一本讲解大型Web 应用的入门级书籍,能够让我们接触到大应用的知识点. 目录如下: 第1章 大规模Web服务的开发定位——掌握整体第2章 大规模数据处 ...
- python 学习(二)--关于类
1.没有权限控制,在类方法或变量前加 "__" 两下划线,则变为"私有"变量(实际通过_<类名>__<变量或方法名> 可以访问) 2.类 ...