1.背景

学习IOS开发也差不多两个月了,赶鸭子上架的学习模式让我学习比较快,但是真心很累,每天有每天的工作进度,在学习的

时候需要边做一个项目真心有点累,但是看到自己的收获还是值得的。自己原来是做C#开发的,由于公司需求想开展手机业务,

想公司内部的人做,我觉得是机遇,我就选择了iOS。

学习了这么就吐槽下ios的学习环境,很多时候你问别人问题得不会回你,特别是QQ群,所以想写一些比较清楚的教程帮助那些像

我一样摸索前进的新学者更快的进入。我比较常去的一些论坛都是很牛逼的。cocoa China和code4app 这两个是我经常去逛的,还有就

是xcode带的帮助,感谢它们提供的帮助。

2.开发环境

我的开发环境是Xcode 5.1.1,IOS SDK 7.1

3.实现步骤

0>实现后的界面效果

      

1>新建空项目

2>添加五个文件MainViewController,FirstViewController,SecondViewController,ThirdViewController,FourlViewController,

TestViewController分别继承至 UITabBarController, UIViewController,UIViewController,UIViewController,UIViewController,

UIViewController 后面五个可以随意,是Controller就好了,添加好的结构就是如下面。

3>打开文件AppDelegate.m文件,引进MainViewController.h 头文件,并添加如下代码

 MainViewController * mainview=[[MainViewController alloc] init];
self.window.rootViewController=mainview;

添加后的AppDelegate.m的文件如下

4>打开文件MainViewController.m,并引进FirstViewController.h ,SecondViewController.h, ThirdViewController.h ,FourlViewController.h

在viewDidLoad 函数添加如下代码

[self creatControls];

在添加函数

//将试图控制器添加到tabbar上面
- (void)creatControls
{
FirstViewController * firstview=[[FirstViewController alloc] init];
firstview.tabBarItem.image=[UIImage imageNamed:@"tab_0.png"];
firstview.tabBarItem.title=@"界面一"; UINavigationController * nvifirst=[[UINavigationController alloc] init];
[nvifirst addChildViewController:firstview]; SecondViewController * secondview=[[SecondViewController alloc]init];
secondview.tabBarItem.image=[UIImage imageNamed:@"tab_1.png"];
secondview.tabBarItem.title=@"界面二";
UINavigationController * nvisecond=[[UINavigationController alloc] init];
[nvisecond addChildViewController:secondview]; ThirdViewController * third=[[ThirdViewController alloc] init];
third.tabBarItem.image=[UIImage imageNamed:@"tab_2.png"];
third.tabBarItem.title=@"界面三";
UINavigationController * nvithird=[[UINavigationController alloc] init];
[nvithird addChildViewController:third]; FourlViewController * fourview=[[FourlViewController alloc]init];
fourview.tabBarItem.image=[UIImage imageNamed:@"tab_3.png"];
fourview.tabBarItem.title=@"界面四";
UINavigationController * nvifourview=[[UINavigationController alloc] init];
[nvifourview addChildViewController:fourview]; NSArray * controls=[NSArray arrayWithObjects:nvifirst,nvisecond,nvithird,nvifourview, nil]; self.viewControllers=controls; }

5.分别在FirstViewController.m ,SecondViewController.m, ThirdViewController.m ,FourlViewController.m的viewDidLoad函数里分别添加

  self.view.backgroundColor=[UIColor redColor];
self.navigationItem.title=@"美女";

根据需要修改文字就好了。

6.在FirstViewController.m文件里引入头文件TestViewController.h,并在viewDidLoad函数里分别添加如下代码

 UIBarButtonItem * right=[[UIBarButtonItem alloc]initWithTitle:@"我想要" style:(UIBarButtonItemStyleBordered) target:self action:@selector(select:)];
self.navigationItem.rightBarButtonItem=right;

再添加函数

- (void)select:(id)sender
{
NSLog(@"你想要什么");
TestViewController * testview=[[TestViewController alloc] init];
[self.navigationController pushViewController: testview animated:YES];
}

7.打开文件TestViewController.m 并在viewDidLoad函数里分别添加如下代码

    UILabel * msg=[[UILabel alloc]init];
msg.text=@"哈哈好样的";
[self.view addSubview:msg];

8>编译运行就能得到一个tabbar的界面

4.代码下载

下载源码

iOS 用代码搭建UI界面实例的更多相关文章

  1. iOS 用代码+Xib搭建UI界面实例

    1.背景 有些我们不能只用代码去构建界面,代码是万能的,你用其他方式可以实现的界面,用代码也一定能 实现,但是我们没必要这样做,有的时候用xib会是更好的选择,代码和xib的优劣地方我们得知道,为了 ...

  2. 使用XML文件和Java代码控制UI界面

    Android推荐使用XML文件设置UI界面,然后用Java代码控制逻辑部分,这体现了MVC思想. MVC全名是Model View Controller,是模型(model)-视图(view)-控制 ...

  3. Android学习笔记(9):使用XML文件和Java代码控制UI界面

    Android推荐使用XML文件设置UI界面.然后用Java代码控制逻辑部分,这体现了MVC思想. MVC全名是Model View Controller.是模型(model)-视图(view)-控制 ...

  4. iOS纯代码制作欢迎界面——UIScrollView, UIPageControl, UIImageView,UIButton, NSTimer

    欢迎界面,还是比较简单的,一个UIScrollView控件,一个UIPageControl,几个UIImageView即可摆平.在这里光玩这些,就显得诚意不足了.特意拓展一下,再加几个UIButton ...

  5. (六十二)纯代码搭建UI

    在Xcode6中,去掉了Empty Application的选项,因此可以通过先创建SingleView,再删除storyboard,并且把工程设置中的main Interface清空. 通过AppD ...

  6. 用代码控制UI界面

           public class MainActivity extends Activity { //当第一次创建Activity时回调该方法 @Override protected void ...

  7. Android学习:代码控制UI界面示例

    package allegro.test2; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; im ...

  8. Spark UI界面原理

    当Spark程序在运行时,会提供一个Web页面查看Application运行状态信息.是否开启UI界面由参数spark.ui.enabled(默认为true)来确定.下面列出Spark UI一些相关配 ...

  9. Android控制UI界面

    ⒈使用XML布局文件控制UI界面[推荐] Android推荐使用XML布局文件来控制视图,这样不仅简单.明了,而且可以将应用的视图控制逻辑从Java或Kotlin代码中分离出来,放入XML文件中控制, ...

随机推荐

  1. 【练习】flashback基于scn的闪回查询

    1.创建表dept1: :: SCOTT@ORA11GR2>create table dept1 as select * from dept; Table created. :: SCOTT@O ...

  2. Android ImageView显示本地图片

    Android ImageView 显示本地图片 布局文件 <?xml version="1.0" encoding="utf-8"?> <R ...

  3. noip2008解题报告

    T1.笨小猴 给出一个单词求出现次数最多和最少之差是不是质数. 很水的.统计一下反正就26个字母. T2.火柴棒等式 给出火柴棒数,求形如 a+b=c能拼成的等式个数. 先减去4根(+,=),然后枚举 ...

  4. python基础05 缩进与选择

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 缩进 Python最具特色的是用缩进来标明成块的代码.我下面以if选择结构来举例. ...

  5. 安装和使用memcached

    引用:http://www.czhphp.com/archives/252 如何将 memcached 融入到您的环境中? 在开始安装和使用 using memcached 之前,我们需要了解如何将 ...

  6. 初识Memcached

    一,什么是memcached? Memcached是一个高性能的分布式内存对象缓存系统,用于动态web应用以减轻数据库负载..它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱 ...

  7. android框架整理

    http://blog.csdn.net/ma969070578/article/details/27808043 闲来无事.想搭个框架试试 分析一般应用 将资料整理整理 粗略统计 需要以下资料 1. ...

  8. android 学习(1)

    第二次发生这种事了,写完啦,手一抖,丢了,这个写完不用博客园了,怪不得用户越来越少 简写 androidstudio安装注意点 1JDK安装需配置环境变量 2安装遇到haxm错误需要进入BIOS打开C ...

  9. jQuery设置和获取以及修改class name值操作

    在Web程序开发中.很多时候会用需要修改Html标签的class名称.来达到修改标签样式的效果.那么在代码中一般是怎么操作的呢.本文将为你详细讲解一下class的使用.在jQuery中可以使用attr ...

  10. C# 关于时间

    1.2016/7/8 00:10:10 转换成 2016-07-08T 00:10:10 在用VB动态调用WevService的时候,传入的时间格式为2016/7/8 00:10:10,导致调用出错, ...