热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

tabbarcontroller

下面记一下怎样通过代码的方式为选项卡添加视图。1、创建一个基于EmptyApplication的项目2、创建两个新类,基类选择UIViewController

下面记一下怎样通过代码的方式为选项卡添加视图。

1、创建一个基于Empty Application的项目

2、创建两个新类,基类选择UIViewController,勾选With XIB for user interface分别命名为"OneController'和"TwoController",

3、分别更改OneController.xib和TwoController.xib文件的view背景颜色,便于区分

4、在AppDelegate.m文件中的 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ }函数做如下修改(记得导入OneController和TwoController的头文件)

 

[cpp] view plaincopyprint?
  1. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions  
  2. {  
  3.     self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];  
  4.   
  5.     //将tabBar(选项卡)添加进来   
  6.     UITabBarController *tabBarController = [[[UITabBarController alloc] init] autorelease];  
  7.       
  8.     //为选项卡添加子控制器   
  9.     OneController *one = [[[OneController alloc] init] autorelease];  
  10.     [tabBarController addChildViewController:one];  
  11.       
  12.     TwoController *two = [[[TwoController alloc] init] autorelease];  
  13.     [tabBarController addChildViewController:two];  
  14.       
  15.       
  16.       
  17.     self.window.rootViewController = tabBarController;  
  18.       
  19.     [self.window makeKeyAndVisible];  
  20.     return YES;  
  21. }  

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];//将tabBar(选项卡)添加进来UITabBarController *tabBarController = [[[UITabBarController alloc] init] autorelease];//为选项卡添加子控制器OneController *one = [[[OneController alloc] init] autorelease];[tabBarController addChildViewController:one];TwoController *two = [[[TwoController alloc] init] autorelease];[tabBarController addChildViewController:two];self.window.rootViewController = tabBarController;[self.window makeKeyAndVisible];return YES;
}

 

 

运行效果如下:

];  

  •     [tabBarController addChildViewController:two];  
  •       
  •       
  •       
  •     self.window.rootViewController = tabBarController;  
  •       
  •     [self.window makeKeyAndVisible];  
  •     return YES;  
  • }  
  • - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];//将tabBar(选项卡)添加进来UITabBarController *tabBarController = [[[UITabBarController alloc] init] autorelease];//为选项卡添加子控制器OneController *one = [[[OneController alloc] init] autorelease];one.tabBarItem = [[[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemDownloads tag:0] autorelease];//增加系统自带的下载图标[tabBarController addChildViewController:one];TwoController *two = [[[TwoController alloc] init] autorelease];//添加一个自定义的图标和文字two.tabBarItem.title = @"two";two.tabBarItem.image = [UIImage imageNamed:@"success.png"];[tabBarController addChildViewController:two];self.window.rootViewController = tabBarController;[self.window makeKeyAndVisible];return YES;
    }

     

     

    以上代码中,我在第一个Controll View 中添加了一个系统自带的下载图标,,在第二个Controller View中添加了一个自定义的图标(先将图标导入到项目中)和文字。

    运行效果如下:

    以上的所有代码我都是在AppDelegate.m文件中得

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ }函数中实现的,,,这仅仅只是为了操作方便才这样写的,,大多数情况下是写在该tab Bar Controller 的实现文件中的,如这里是在的MyTabController.m文件中的- (id)init{ } 函数中实现的。

    转:https://www.cnblogs.com/yulang314/p/3568333.html



    推荐阅读
    • PBO(PixelBufferObject),将像素数据存储在显存中。优点:1、快速的像素数据传递,它采用了一种叫DMA(DirectM ... [详细]
    • vue引入echarts地图的四种方式
      一、vue中引入echart1、安装echarts:npminstallecharts--save2、在main.js文件中引入echarts实例:  Vue.prototype.$echartsecharts3、在需要用到echart图形的vue文件中引入:   importechartsfrom"echarts";4、如果用到map(地图),还 ... [详细]
    • iOS snow animation
      CTSnowAnimationView.hCTMyCtripCreatedbyalexon1614.Copyright©2016年ctrip.Allrightsreserved.# ... [详细]
    • 第14周实践项目(4)-验证平衡二叉树
      问题**Copyright(c)2015,烟台大学计算机学院*Allrightsreserved.*文件名称:test.cpp*作者:王敏*完成日 ... [详细]
    • WPF项目学习.一
      WPF项目搭建版权声明:本文为博主初学经验,未经博主允许不得转载。一、前言记录在学习与制作WPF过程中遇到的解决方案。使用MVVM的优点是数据和视图分离,双向绑定,低耦合,可重用行 ... [详细]
    • Ext JS MVC系列一:环境搭建与框架概览
      本文主要介绍了如何在项目中使用Ext JS 4作为前端框架,并详细讲解了Ext JS 4的MVC开发模式。文章将从项目目录结构、相关CSS和JS文件的引用以及MVC框架的整体认识三个方面进行总结。 ... [详细]
    • java解析json转Map前段时间在做json报文处理的时候,写了一个针对不同格式json转map的处理工具方法,总结记录如下:1、单节点单层级、单节点多层级json转mapim ... [详细]
    • 短视频app源码,Android开发底部滑出菜单首先依赖三方库implementationandroidx.appcompat:appcompat:1.2.0im ... [详细]
    • 本文介绍了 Android 开发中常用的滚动视图组件 ScrollView 和 HorizontalScrollView 的基本用法和注意事项,帮助开发者更好地处理屏幕内容超出显示范围的情况。 ... [详细]
    • 本文主要介绍如何使用标签来优化Android应用的UI布局,通过减少不必要的视图层次,提高应用性能。 ... [详细]
    • 本文探讨了在 SQL Server 2012 的 Integration Services 项目中配置 ADO.NET 源时遇到的错误及其解决方案。 ... [详细]
    • 使用Tkinter构建51Ape无损音乐爬虫UI
      本文介绍了如何使用Python的内置模块Tkinter来构建一个简单的用户界面,用于爬取51Ape网站上的无损音乐百度云链接。虽然Tkinter入门相对简单,但在实际开发过程中由于文档不足可能会带来一些不便。 ... [详细]
    • 普通树(每个节点可以有任意数量的子节点)级序遍历 ... [详细]
    • 本文详细介绍了 HTML 中 a 标签的 href 属性的多种用法,包括实现超链接、锚点以及调用 JavaScript 方法。通过具体的示例和解释,帮助开发者更好地理解和应用这些技术。 ... [详细]
    • 基于iSCSI的SQL Server 2012群集测试(一)SQL群集安装
      一、测试需求介绍与准备公司计划服务器迁移过程计划同时上线SQLServer2012,引入SQLServer2012群集提高高可用性,需要对SQLServ ... [详细]
    author-avatar
    qqjayzhe
    这个家伙很懒,什么也没留下!
    Tags | 热门标签
    RankList | 热门文章
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有