iOS 搭建框架简述 —— HERO博客
来源:互联网 发布:牛乳のみお js 编辑:程序博客网 时间:2024/05/29 14:30
简述搭建一个项目框架的流程:
1. 新建工程,填写设置项目名称、组织、语音、设备等基本信息。
2. 删除不必要文件。
2.1 选中文件ViewController.h、ViewController.m、main.storyboard(博主习惯纯代码开发),delete。
2.2 修改Info.plist文件。
2.2.1 删除key:Main storyboard file base name对应的value:Main,告诉系统不启用故事板。
2.2.2 同时根据需求添加、删除、修改其他键值。如添加key:View controller-based status bar appearance,对应的value:NO,使application对状态栏设置的优先级高于控制器。
3. 建立目录文件夹,右键Show in Finder,找到根路径后在创建文件夹,拖入项目中添加。直接New Group后Show in Finder会发现根路径找不到你创建的文件夹。这里博主建了第三方库、分类、通用工具、基类、主文件、项目模块和图片文件夹。
3.1第三方库文件夹:添加所需要的第三方库(当然也可以通过CocoaPods添加),我这里添加了一个比较好用网络请求库AFNetworking,和一个键盘滑动时输入框自动上移IQKeyboardManager。
3.2分类文件夹:分类看项目需求了,博主这里扩展了几个偶尔用的到的,如通过UIColor获取UIImage、通过16进制字符串获取UIColor。
3.3通用工具文件夹:通用工具添加了频繁使用的工具,如网络请求、消息弹窗等。
3.4 基类文件夹:创建父类,写入公共代码供子类调用。
3.5 主文件夹:这个博主习惯放启动、登录、导航、tabbar之类的。
3.6 项目模块文件夹:根据模块创建文件夹,内部根据MVC再创建文件夹
3.7 图片文件夹:当然存放图片了,内部可以根据不同模块再创建文件夹,命名如tabbar_home_nor容易查找修改。
4. 创建PCH全局引用文件,导入相关头文件,进行所需要的宏定义。
#ifndef HWExercises_prefix_pch#define HWExercises_prefix_pch#import "AFNetworking.h"#import "HWProgressHUD.h"#import "UIImage+HW.h"//获取屏幕宽高#define KMainW [UIScreen mainScreen].bounds.size.width#define KMainH [UIScreen mainScreen].bounds.size.height//判断机型、系统#define IS_IPHONE_5 (KMainH == 568.0)#define IS_IPHONE_6 (KMainH == 667.0)#define IS_IPHONE_6P (KMainH == 736.0)#define ISIOS8 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0 ? YES : NO)#define ISIOS10 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 10.0 ? YES : NO)//根据一种屏幕尺寸开发,等比缩放到其他尺寸(如:375为4.7寸屏)#define KScreenRate (375 / KMainW)#define KSuitFloat(float) (float / KScreenRate)#define KSuitSize(width, height) CGSizeMake(width / KScreenRate, height / KScreenRate)#define KSuitPoint(x, y) CGPointMake(x / KScreenRate, y / KScreenRate)#define KSuitFrame(x, y, width, heigth) CGRectMake(x / KScreenRate, y / KScreenRate, width / KScreenRate, heigth / KScreenRate)//block修饰#define weakify(var) __weak typeof(var) weakSelf = var#define strongify(var) __strong typeof(var) strongSelf = var//Debug下输出打印信息,Release下不输出打印信息#ifdef DEBUG#define HWLog(...) NSLog(__VA_ARGS__)#else#define HWLog(...)#endif#endif /* HWExercises_prefix_pch */
5. 在AppDelegate.m中初始化窗口,设置根控制器。接下来就可以在控制器书写相关代码了。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; self.window.rootViewController = [[UINavigationController alloc] initWithRootViewController:[[HWLuanchVC alloc] init]]; [self.window makeKeyAndVisible]; return YES;}
以上,一个简单的框架就搭建好了,当然,这只是一个简单的骨架,还需要很多填充。
Demo下载链接:http://code.cocoachina.com/view/135115
写博客的初心是希望大家共同交流成长,博主水平有限难免有偏颇之处,欢迎批评指正。
- iOS 搭建框架简述 —— HERO博客
- iOS 弹窗UIAlertView、UIActionSheet、UIAlertController简述 —— HERO博客
- iOS UIScrollView简介 —— HERO博客
- iOS UICollectionView简介 —— HERO博客
- iOS UITextField简介 —— HERO博客
- iOS UIDynamic简介 —— HERO博客
- iOS 添加字体库 —— HERO博客
- iOS MD5加密 —— HERO博客
- iOS UITableView简介 —— HERO博客
- iOS 预产期计算器 —— HERO博客
- iOS UISearchBar简介 —— HERO博客
- iOS UISearchBar使用 —— HERO博客
- iOS 自定义日历 —— HERO博客
- iOS 自定义键盘 —— HERO博客
- iOS 图片压缩 —— HERO博客
- iOS 拍摄照片,使用视听媒体框架AVFoundation实现照片拍摄 —— HERO博客
- iOS UICollectionView实用练习 —— HERO博客
- iOS 自定义UIButton点击动画特效 —— HERO博客
- poj3006
- 备份mysql数据库(例:mac)
- wamp环境搭建
- ZUFE 2469 无人能解得数学题【矩阵快速幂】
- 浪漫的平安夜,听一听小白的年终总结(二)之 2016
- iOS 搭建框架简述 —— HERO博客
- leetcode 131. Palindrome Partitioning回文子串+DFS
- [cogs2692]天才魔法少女琪露诺爱计数
- 远程凭据无法工作解决办法
- SSM(SpringMvc+mybatis+Spring)java web搭建工程
- linux deepin系统 系列(一)安装JDK
- mysql 权限与安全
- AngularJS 教程(二)
- 外网访问内网服务器