新建一个空工程,如图

新建类

  1. using System;
  2. using UIKit;
  3.  
  4. namespace TabbedApplication
  5. {
  6. public class TabController : UITabBarController
  7. {
  8. UIViewController tab1,tab2,tab3;
  9.  
  10. public TabController ()
  11. {
  12. tab1 = new UIViewController();
  13. tab1.Title = "Green";
  14. tab1.View.BackgroundColor = UIColor.Green;
  15. tab1.TabBarItem = new UITabBarItem (UITabBarSystemItem.Favorites, 0);
  16.  
  17. tab2 = new UIViewController();
  18. tab2.Title = "Orange";
  19. tab2.View.BackgroundColor = UIColor.Orange;
  20. tab2.TabBarItem.Image = UIImage.FromFile ("second.png");
  21. tab2.Title = "Second";
  22.  
  23. tab3 = new UIViewController();
  24. tab3.Title = "Red";
  25. tab3.View.BackgroundColor = UIColor.Red;
  26. tab3.TabBarItem.BadgeValue = "Hi";
  27. var tabs = new UIViewController[] {
  28. tab1, tab2, tab3
  29. };
  30.  
  31. ViewControllers = tabs;
  32. }
  33. }
  34. }

  修改 AppDelegate.cs

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. using Foundation;
  6. using UIKit;
  7.  
  8. namespace TabbedApplication
  9. {
  10. // The UIApplicationDelegate for the application. This class is responsible for launching the
  11. // User Interface of the application, as well as listening (and optionally responding) to
  12. // application events from iOS.
  13. [Register ("AppDelegate")]
  14. public partial class AppDelegate : UIApplicationDelegate
  15. {
  16. // class-level declarations
  17. UIWindow window;
  18. TabController tabController;
  19. //
  20. // This method is invoked when the application has loaded and is ready to run. In this
  21. // method you should instantiate the window, load the UI into it and then make the window
  22. // visible.
  23. //
  24. // You have 17 seconds to return from this method, or iOS will terminate your application.
  25. //
  26. public override bool FinishedLaunching (UIApplication app, NSDictionary options)
  27. {
  28. // create a new window instance based on the screen size
  29. window = new UIWindow (UIScreen.MainScreen.Bounds);
  30.  
  31. // If you have defined a root view controller, set it here:
  32. // window.RootViewController = myViewController;
  33. tabController=new TabController();
  34. window.RootViewController = tabController;
  35. // make the window visible
  36. window.MakeKeyAndVisible ();
  37.  
  38. return true;
  39. }
  40. }
  41. }

  运行程序

Creating Tabbed Applications的更多相关文章

  1. Visual Studio跨平台开发实战(3) - Xamarin iOS多页面应用程式开发

    原文 Visual Studio跨平台开发实战(3) - Xamarin iOS多页面应用程式开发 前言 在前一篇教学中, 我们学会如何使用Visual Studio 搭配Xcode 进行iOS基本控 ...

  2. HDevEngine in .NET Applications MultiThreading

    Basics To use HDevEngine in Visual Studio .NET, you must add a reference to the HALCON/.NET assembly ...

  3. HTML5 Differences from HTML4

    Abstract "HTML5 Differences from HTML4" describes the differences of the HTML5 specificati ...

  4. (转) [it-ebooks]电子书列表

    [it-ebooks]电子书列表   [2014]: Learning Objective-C by Developing iPhone Games || Leverage Xcode and Obj ...

  5. Java资源大全中文版(Awesome最新版)

    Awesome系列的Java资源整理.awesome-java 就是akullpp发起维护的Java资源列表,内容包括:构建工具.数据库.框架.模板.安全.代码分析.日志.第三方库.书籍.Java 站 ...

  6. DotNet 资源大全中文版(Awesome最新版)

    Awesome系列的.Net资源整理.awesome-dotnet是由quozd发起和维护.内容包括:编译器.压缩.应用框架.应用模板.加密.数据库.反编译.IDE.日志.风格指南等. 算法与数据结构 ...

  7. Orchard教程索引页

    Orchard官方教程(译)索引 链接标注 原文 则表示未译,其他带有中文标题的表示译文内容. 入门 安装Orchard--Installing Orchard 通过zip包手动安装Orchard-- ...

  8. 使用NW.js封装微信公众号菜单编辑器为桌面应用

    开发微信公众号的朋友都会遇到一个常见的需求就是修改自定义菜单,如果每个人都去开发这个不经常使用的功能确实有点浪费时间.前段时间在github上找到一个仿企业号的菜单编辑界面,结合微信的C# SDK开发 ...

  9. 【转】Controllers and Routers in ASP.NET MVC 3

    Controllers and Routers in ASP.NET MVC 3 ambilykk, 3 May 2011 CPOL 4.79 (23 votes) Rate: vote 1vote ...

随机推荐

  1. maven项目打包 编码gbk的不可映射字符

    中文系统默认gbk编码格式,你的代码是utf8格式的.所以报错 <build> <plugins> <plugin> <groupId>org.apac ...

  2. FOJ Problem 2254 英语考试

                                                                                                        ...

  3. mybatis原理源码大牛连接

    mybatis讲解的非常好的连接: https://www.jianshu.com/nb/5226994 执行流程简介参考:http://www.cnblogs.com/dongying/p/4142 ...

  4. 标准C程序设计七---35

    Linux应用             编程深入            语言编程 标准C程序设计七---经典C11程序设计    以下内容为阅读:    <标准C程序设计>(第7版) 作者 ...

  5. linux 下高精度时间

    今天在公司代码中看到了使用select函数的超时功能作定时器的用法,便整理了如下几个Linux下的微秒级别的定时器.在我的Ubutu10.10 双核环境中,编译通过. /* * @FileName:  ...

  6. 关于unity3d插件的自动打包

    开发中,迩可能会遇到在xcode里添加一些需要调用原生api的方法,可能是game center,可能是内购之类的,但是这些插件实在太多了,所以迩大可不必自己写这些插件,问题在于,国内的一些插件,像9 ...

  7. hdu 5461(分类讨论)

    Largest Point Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Tot ...

  8. AC日记——线段树练习5 codevs 4927

    4927 线段树练习5  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description 有n个数和5种操作 add a b ...

  9. Codeforces 786B Legacy(线段树优化建图)

    题目链接  Legacy 首先对于输入的$n$,建立一棵线段树. 显然线段树有大概$2n$个结点,每个节点对应一段区间 我们把这$2n$个结点加入我们的无向图中,一起跑最短路. 具体连边方案: 我们把 ...

  10. Android 防护扫盲篇

    一,已知防护策略 1.不可或缺的混淆 Java 是一种跨平台.解释型语言,Java 源代码编译成的class文件中有大量包含语义的变量名.方法名的信息,很容易被反编译为Java 源代码.为了防止这种现 ...