博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS应用主流UI架构实现
阅读量:5292 次
发布时间:2019-06-14

本文共 3296 字,大约阅读时间需要 10 分钟。

一、介绍

如今iOS开发过程中,最常见的一种UI架构是:界面底部是四五个tab bar 、中间是内容显示、顶部是包括标题及返回等操作button,当点击进入某个模块后可以点击进行返回。这样的架构的应用比較常见的如:微信、支付宝、京东、去哪儿等大部分应用都是这样的UI架构。下图所看到的:

这里写图片描写叙述

这里写图片描写叙述

二、创建方法

iOS开发SDK中提供了比較方便的类:UITabBarController、UINavigationController、UIViewController组合起来进行实现。

通常在 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 。应用生命周期方法中完毕主UI架构的创建。

详细步骤为 :1、新建与tab bar个数一致的UIViewController 实例,初始化title,button等。

2、新建与tab bar个数一致UINavigationController实例,通过调用initWithRootViewController 分别赋给响应的UIViewController实例。                      3、新建一个UITabBarController实例变量,然后给UITabBarController的viewControllers数组赋值为上面新建的多个UINavigationController实例。

4、把AppDelegate中的window属性的 rootViewController 设置为一个UITabBarController实例变量, 5、然后调用[self.window makeKeyAndVisible]方法显示界面。

三、详细实现代码

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {       self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]];    self.window.backgroundColor= [UIColor redColor];    [self loadMainFrame];    [self.window makeKeyAndVisible];    return YES;}详细的实现位于loadMainFrame方法中-(void)loadMainFrame{    LOneViewController *oneController = [[LOneViewController alloc]init];    UINavigationController *onNav = [[UINavigationController alloc]initWithRootViewController:oneController];    oneController.tabBarItem.title=@"First";    oneController.tabBarItem.image = [UIImage imageNamed:@"one.png"];  LOneViewController *twoController = [[LOneViewController alloc]init];    UINavigationController *twoNav = [[UINavigationController alloc]initWithRootViewController:oneController];    twoController.tabBarItem.title=@"First";    twoController.tabBarItem.image = [UIImage imageNamed:@"one.png"];    LThreeViewController *threeController = [[LThreeViewController alloc]init];    UINavigationController *threeNav = [[UINavigationController alloc]initWithRootViewController:threeController];    threeNav.tabBarItem.title=@"Three";    threeNav.tabBarItem.image=[UIImage imageNamed:@"three.png"];    LFourViewController *fourController = [[LFourViewController alloc]init];    UINavigationController *fourNav = [[UINavigationController alloc]initWithRootViewController:fourController];    fourNav.tabBarItem.title=@"Four";    fourNav.tabBarItem.image=[UIImage imageNamed:@"four.png"];    fourNav.navigationBar.tintColor=[UIColor yellowColor];    LFiveViewController *fiveController = [[LFiveViewController alloc]init];    UINavigationController *fiveNav = [[UINavigationController alloc]initWithRootViewController:fiveController];    fiveNav.navigationBar.tintColor=[UIColor yellowColor];    fiveNav.tabBarItem.title=@"Five";    fiveNav.tabBarItem.image=[UIImage imageNamed:@"five.png"];        UITabBarController *tabController=[[UITabBarController alloc]init];    [tabController setViewControllers:@[onNav,twoNav,threeNav,fourNav,fiveNav] ];    self.window.rootViewController = tabController;}如上面代码所看到的:新建了四个UIViewController、以及四个UINavigationController,并把四个UIViewController设置为对应UINavigationController的rootViewController,然后把四个UINavigationController分别增加到UITabBarController的ViewControllers数组中。 然后设置 self.window.rootViewController为UITabBarController,最后    通过[self.window makeKeyAndVisible];方法完毕UI架构的创建。

转载于:https://www.cnblogs.com/claireyuancy/p/7073099.html

你可能感兴趣的文章
TCP/IP详解学习笔记(3)IP协议ARP协议和RARP协议
查看>>
简单【用户输入验证】
查看>>
学android:直接用jdk来helloworld
查看>>
python tkinter GUI绘制,以及点击更新显示图片
查看>>
Spark基础脚本入门实践3:Pair RDD开发
查看>>
HDU4405--Aeroplane chess(概率dp)
查看>>
python使用easyinstall安装xlrd、xlwt、pandas等功能模块的方法
查看>>
CS0103: The name ‘Scripts’ does not exist in the current context解决方法
查看>>
20130330java基础学习笔记-语句_for循环嵌套练习2
查看>>
Spring面试题
查看>>
窥视SP2010--第一章节--SP2010开发者路线图
查看>>
MVC,MVP 和 MVVM 的图示,区别
查看>>
C语言栈的实现
查看>>
代码为什么需要重构
查看>>
TC SRM 593 DIV1 250
查看>>
SRM 628 DIV2
查看>>
2018-2019-2 20165314『网络对抗技术』Exp5:MSF基础应用
查看>>
统计单词,字符,和行
查看>>
jQuery垂直滑动切换焦点图
查看>>
Python-S9-Day127-Scrapy爬虫框架2
查看>>