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. hive日期函数

    今天select from_unixtime(unix_timestamp(),'yyyy-MM-dd HH:mm:ss') UNIX时间戳转日期函数: from_unixtime 语法: from_ ...

  2. JS中插入节点的方法appendChild和insertBefore的应用

    1.appendChild() 方法:可以向节点的子节点列表的末尾添加新的子节点.比如:appendChild(newchild)括号里可以是创建的标签var newchild = document. ...

  3. 使用celery的backend异步获取结果

    惯例先贴出相关参考的文档: http://docs.celeryproject.org/en/stable/getting-started/next-steps.html http://docs.ce ...

  4. UBUNTU 13.04 install Grive

    sudo apt-get install software-properties-common sudo apt-get install python-software-properties sudo ...

  5. 用odbc连接oracle问题

    如果用11g的客户端,然后通过odbc(远程连接)连接10g的oracle,会出现监听程序无法启动(ORA-12541: TNS: 无监听程序) 此时需要在客户端目录中D:\instantclient ...

  6. projecteuler Problem 9 Special Pythagorean triplet

    A Pythagorean triplet is a set of three natural numbers, a < b < c, for which, a2 + b2 = c2 Fo ...

  7. 使用Form Builder创建Form具体步骤

    使用Oracle Form Builder创建Form具体步骤 (Data Source为Table) 说明:当Block使用的Data Source为Table时,Form会自动Insert,Upd ...

  8. cin判断读取结束 C++语言

    cin是C++的输入流,可以通过>>进行读取. 判断读取结束,一般有两种方法,具体取决于与输入的约定. 1 以特殊值结尾. 如输入整数,以-1结束,那么当读到-1的时候,就确定读取结束了. ...

  9. 《C++编程规范:101条规则、准则与最佳实践》学习笔记

    转载:http://dsqiu.iteye.com/blog/1688217 组织和策略问题 0. 不要为小事斤斤计较.(或者说是:知道什么东西不需要标准化) 无需在多个项目或者整个公司范围内强制实施 ...

  10. hdu 1797 靠谱的算法应该是最大生成树,但是本人用最大流做的

    Heavy Transportation Time Limit: 3000MS   Memory Limit: 30000K Total Submissions: 22294   Accepted:  ...