初始化项目搭建主流app框架

作者: LYPC_下里巴人 | 来源:发表于2017-08-11 11:47 被阅读118次

根据目前做过的这些项目总结一下app的框架搭建,不能以偏概全,还是要根据项目负责人的构思和需求结合灵活搭建的。

我们其中一个代表性的项目结构是这样的,就针对这样子的app来总结一下架子搭建。

1、思想上,采用模块化+MVC思想;

2、代码上,采用纯代码搭建;

吐槽一下后来合作的新人 小鲜肉们,为何总喜欢用故事版做项目,个人感觉太不灵活了,代码不好控制,一切不在掌握之中,不推荐使用。

3、骨架结构:

tabBarController底部的切换条,

NavigationController顶部的导航条;

ViewController中间展示内容的各个页面;

4、整合关系:

tabBarController作为整个项目架子的控制者,每个子控制器是一个NavigationController,NavigationController的root View是ViewController。

5、目录:

不足之处 或者有更优方案的欢迎指正教导。

6、上代码:

AppDelegate里面写入口:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];

self.window.backgroundColor = [UIColor whiteColor];

SCTabBarViewController *sCTabBarViewController = [[SCTabBarViewController alloc] init];

self.sCTabBarVC = sCTabBarViewController;

self.window.rootViewController = self.sCTabBarVC;

[self.window makeKeyAndVisible];

return YES;

}

新建SCTabBarViewController和CTBaseNavigationController,在里面写你们的自定义配置之类的代码:

主要代码:

- (void)viewDidLoad {

[super viewDidLoad];

// 添加子控制器

[self addChildVc:[[HomeTableViewController alloc] init] title:@"首页" image:@"home_normal" selectedImage:@"home_select"];

[self addChildVc:[[MainShoppingViewController alloc] init] title:@"商城"

image:@"shopping_normal" selectedImage:@"shopping_selected"];

[self addChildVc:[[DiscoverViewController alloc] init] title:@"发现"

image:@"FriendsTrend_normal" selectedImage:@"FriendsTrend_select"];

[self addChildVc:[[MyViewController alloc] init] title:@"我的" image:@"My_normal" selectedImage:@"My_select"];

}

/**

*  添加一个子控制器

*

*  @param childVc      子控制器

*  @param title        标题

*  @param image        默认的图片

*  @param selectedImage 选中的图片

*/

- (void)addChildVc:(UIViewController *)childVc title:(NSString *)title image:(NSString *)image selectedImage:(NSString *)selectedImage {

// 设置文字和图片

childVc.navigationItem.title = title;

childVc.tabBarItem.title = title;

childVc.tabBarItem.image = [UIImage imageNamed:image];

childVc.tabBarItem.selectedImage = [[UIImage imageNamed:selectedImage] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

// 包装一个导航控制器, 添加导航控制器为tabbarcontroller的子控制器

CTBaseNavigationController *nav = [[CTBaseNavigationController alloc] initWithRootViewController:childVc titleSize:18 titleColor:[UIColor colorWithRed:253.0/255 green:144.0/255 blue:15.0/255 alpha:1] leftBackBarNormalImage:@"navigationbar_back"highImage:@"navigationbar_back"];

// 添加为子控制器

[self addChildViewController:nav];

}

这个是随便写了一下,很小白,希望大牛来指导一下。我想问一嘴,做一个项目,到底有没有必要创建基类呢?

相关文章

  • 初始化项目搭建主流app框架

    根据目前做过的这些项目总结一下app的框架搭建,不能以偏概全,还是要根据项目负责人的构思和需求结合灵活搭建的。 我...

  • 搭建2016主流APP框架

    1.新建项目 2.基础文件配置 (1)Project根目录:编辑.gitignore、创建.jks签名、编辑bui...

  • 搭建app框架-MVVM+RAC+路由

    搭建app框架-MVVM+RAC+路由 项目的介绍 项目使用了ReactiveCocoa框架,实现了MVVM架构,...

  • 收藏

    Android 项目最新架构 一个整合了大量主流开源项目的 Android MVP 快速搭建框架:MVPArms(...

  • iOS 搭建一个App框架

    主流的方式搭建一个App框架 先看效果图 UITabBarController实现底部按钮本文章的内容为:学会搭建...

  • 5-3 Flutter App首页框架搭建-项目实践

    5-3 APP首页框架搭建-项目实践 运行效果如下

  • vue-cli3.0基本配置项

    最近我们的vue项目搭建框架升级到了vue-cli3.0,此文记录一下我们搭建项目时的经验,大牛请见谅; 初始化 ...

  • 02-搭建基本框架

    一、APP主流UI框架结构 搭建过程和注意点 1.> UIWindow UIWindow继承自UIView,通常在...

  • 从零构架个人博客网站(一)

    框架选择 后端项目搭建添加依赖 新建项目入口文件 app.js 使用 require-directory 自动加载...

  • 从零开始搭建iOS项目框架

    APP项目搭建 上周个人刚搭建完的项目框架,在这分享一下,主要还是采用MVC设计模式,没有使用storyboard...

网友评论

本文标题:初始化项目搭建主流app框架

本文链接:https://www.haomeiwen.com/subject/ngelrxtx.html