//快速添加一个视图控制器

//快速添加一个视图控制器

#import <UIKit/UIKit.h>

@interface UITabBarController (ZJTabBarExtension)

-(UIViewController*)andViewController:(Class)cls title:(NSString*)title image:(NSString*)image;

@end

@implementation UITabBarController (ZJTabBarExtension)

-(UIViewController*)andViewController:(Class)cls title:(NSString*)title image:(NSString*)image

{

//cls 传入界面所对应的类型

//    创建视图控制器

UIViewController*vc=[[cls alloc]init];

vc.title=title;

UINavigationController*nc=[[UINavigationController alloc]initWithRootViewController:vc];

nc.tabBarItem.image=[UIImage imageNamed:image];

//添加到标签栏中

NSMutableArray *marr =[[NSMutableArray alloc]initWithArray:self.viewControllers];

[marr addObject:nc];

self.viewControllers=marr;

//    返回创建的视图控制器

return vc;

}

接着在需要添加标签控制器和导航控制器的视图中添加到delegate引入头文件

#import "AppDelegate.h"

#import "LimitViewController.h"

#import "FreeViewController.h"

#import "SaleViewController.h"

#import "TopicViewController.h"

#import "HotViewController.h"

#import "UITabBarController+ZJTabBarExtension.h"

@interface AppDelegate ()

@end

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

// Override point for customization after application launch.

//    创建导航栏和标签栏

[self creatTabBar];

return YES;

}

-(void)creatTabBar

{

//  AppList()

//    Limit(AppList)

//    Sale(AppList)

//     Free(AppList)

//    Topic(Root)

//    Hot(AppList)

//以前的繁琐方法

//    LimitViewController*lvc=[[LimitViewController alloc]init];

////    lvc.navigationItem.title=

////    lvc.navigationItem.image=

//    UINavigationController*nc =[[UINavigationController alloc]initWithRootViewController:lvc];

-现在的方法

UITabBarController *tbc=[[UITabBarController alloc]init];

[tbc andViewController:[LimitViewController class] title:@"限免" image:@"tabbar_limitfree.png"];

[tbc andViewController:[SaleViewController class] title:@"降价" image:@"tabbar_reduceprice.png"];

[tbc andViewController:[FreeViewController class] title:@"免费" image:@"tabbar_appfree.png"];

[tbc andViewController:[TopicViewController class] title:@"专题" image:@"tabbar_subject.png"];

[tbc andViewController:[HotViewController class] title:@"热榜" image:@"tabbar_rank.png"];

self.window.rootViewController=tbc;

self.window.backgroundColor=[UIColor whiteColor];

代码量大大减少

}

时间: 2024-11-05 20:36:58

//快速添加一个视图控制器的相关文章

xcode6如何新建一个空项目+添加导航视图控制器

欢迎转载,请注明出处. 解说:使用xcode6的Empty项目模板创建出的项目啥都没有,及不方便.本编就先教大家如何创建一个包含有Target以及Appdelegate等目录的空项目以及添加导航视图控制器. 步骤1:打开xcode6,然后File - > New ->Project,打开后选择Single View Application模板,点击Next,输入项目名称,点击Next,选择保存位置,点击Create. 步骤2:选中项目名称,在配置栏中选择Info栏目,在Custom iOS T

【翻译转载】【官方教程】Asp.Net MVC4入门指南(3):添加一个视图

3. 添加一个视图 · 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-view · 译文地址:http://www.cnblogs.com/powertoolsteam/archive/2012/11/06/2756711.html Asp.Net MVC4入门指南(3):添加一个视图 在本节中,您需要修改HelloWorldController类,从而使用视图模板文件,

Asp.Net MVC4.0 官方教程 入门指南之三--添加一个视图

Asp.Net MVC4.0 官方教程 入门指南之三--添加一个视图 在本节中,您需要修改HelloWorldController类,从而使用视图模板文件,干净优雅的封装生成返回到客户端浏览器HTML的过程. 您将创建一个视图模板文件,其中使用了ASP.NET MVC 3所引入的Razor视图引擎.Razor视图模板文件使用.cshtml文件扩展名,并提供了一个优雅的方式来使用C#语言创建所要输出的HTML.用Razor编写一个视图模板文件时,将所需的字符和键盘敲击数量降到了最低,并实现了快速,

Asp.Net MVC4入门指南(3):添加一个视图

在本节中,您需要修改HelloWorldController类,从而使用视图模板文件,干净优雅的封装生成返回到客户端浏览器HTML的过程. 您将创建一个视图模板文件,其中使用了ASP.NET MVC 3所引入的Razor视图引擎.Razor视图模板文件使用.cshtml文件扩展名,并提供了一个优雅的方式来使用C#语言创建所要输出的HTML.用Razor编写一个视图模板文件时,将所需的字符和键盘敲击数量降到了最低,并实现了快速,流畅的编码工作流程. 当前在控制器类中的Index方法返回了一个硬编码

UI - 视图控制器跳转另一个视图控制器特效总结

1. 从一个视图控制器跳转另一个视图控制器的方式是可以进行设置的 CATransition *animation = [[CATransition alloc]init]; animation.duration = 1; animation.type = @"pageCurl";  //立方体翻滚效果 animation.subtype = @"fromBottom";  //从底部开始 [self.view.window.layer addAnimation:an

新浪微博开发-添加子视图控制器&amp;设置颜色

一.添加子视图控制器 二.设置颜色 设置颜色:两种方法 一种较为繁琐,详见视频 第二种: //设置颜色 self.tabBar.tintColor = UIColor.orangeColor()

iOS视图控制器编程指南 --- 呈现一个视图控制器

有两种方法实现一个视图控制器到屏幕上:把它嵌入到一个容器视图控制器或者是直接呈现它.容器视图控制器提供一个应用程序主要的导航功能,但是present 视图控制器也是一个重要的导航工具.你可以直接使用presentation 在当前视图控制器的最上层显示一个新的视图控制器.典型地,当你想要实现模态界面的时候直接present 视图控制器,但是你也可以基于其它目的使用它们. 对呈现视图控制器的支持内建于类UIViewController中,而且对所有的视图控制器对象都是有效的.你可以在其它任何视图控

【MVC5】3.添加一个视图

在这一节中你将修改HelloWorldController类使用的视图模板文件整洁的封装生成HTML响应客户端的过程. 使用"视图引擎"创建一个视图模板文件.基于Razor视图模板有.cshtml文件扩展名,并提供使用C #创建HTML输出一种优雅的方式.剃刀将字符和按键需要编写一个视图模板时的数量,并能够快速.灵活的工作流程. 当前索引方法返回一个字符串,该字符串在控制器类中硬编码的消息.更改索引方法返回一个视图对象,如下面的代码所示: public ActionResult Ind

动态添加一个视图及其布局属性(要掌握)

<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_w