zoukankan      html  css  js  c++  java
  • 用代码生成UINavigationController 与UITabBarController相结合的简单QQ框架(部分)

    首先我们需要搭建一个空的项目,当然xcode6.0以后不支持直接创建空项目,所以我们需要在系统生成项目之后,删除xcode自动给你生成的控制器和storyboard,另外需要在Main Interface 处将之前的main删除。如图所示:

     

    然后我们需要在Appdelegate.m文件中的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 方法编辑如下代码:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]];
        // 在这里创建一个tabbarcontroller
        UITabBarController *tabBarController = [[UITabBarController alloc]init];
        // 把创建好的tabbar设置成rootviewcontroller
        self.window.rootViewController = tabBarController;
        // 在tabbar里边添加子控制器
        UITableViewController *vc1 = [[UITableViewController alloc]init];
        // 设置导航栏的标题
        vc1.title = @"消息列表";
        UIBarButtonItem *barBtn = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"menu_icon_bulb"] style:UIBarButtonItemStylePlain target:self action:nil];
        vc1.navigationItem.rightBarButtonItem = barBtn;
        // 将一般控制器 转换为导航控制器
        UINavigationController *nav1 = [[UINavigationController alloc]initWithRootViewController:vc1];
        // 设置tabbar的item项 的文字
        nav1.tabBarItem.title = @"消息";
        // 设置item 的图片
        nav1.tabBarItem.image = [UIImage imageNamed:@"tab_recent_nor"];
        // 设置显示数字
        nav1.tabBarItem.badgeValue = @"20";
        
        UITableViewController *vc2 = [[UITableViewController alloc]init];
        //vc2.view.backgroundColor = [UIColor blueColor];
        //NSArray *segmentedArray = [[NSArrayalloc]initWithObjects:@"1",@"2",@"3",@"4",nil];
        // 首先创建一个数组,内部存上UISegmentedControl按钮的文字
        NSArray *segmentTitle = [[NSArray alloc]initWithObjects:@"分组",@"全部", nil];
        UISegmentedControl *segment = [[UISegmentedControl alloc]initWithItems:segmentTitle];
        segment.selectedSegmentIndex = 0; //设置默认选择项索引
        //设置样式
        // segment.segmentedControlStyle = UISegmentedControlStylePlain;
        //设置在点击后是否恢复原样
        // segment.momentary = YES;
        // [segment setImage:[UIImage imageNamed:@"btn_jyy.png"] forSegmentAtIndex:3];//设置指定索引的图片
        // 具体segmentcontrol的用法请参照: http://www.cnblogs.com/top5/archive/2012/05/17/2506618.html
        
        // 将按钮添加到navigationitem的导航栏上去
        vc2.navigationItem.titleView = segment;
        UIBarButtonItem *barBtn2 = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"header_icon_add"] style:UIBarButtonItemStyleDone target:self action:nil];
        vc2.navigationItem.rightBarButtonItem = barBtn2;
        UINavigationController *nav2 = [[UINavigationController alloc]initWithRootViewController:vc2];
        nav2.tabBarItem.title = @"联系人";
        nav2.tabBarItem.image = [UIImage imageNamed:@"tab_buddy_nor"];
        tabBarController.viewControllers = @[nav1,nav2];
        
        
        
        // 显示在window窗口
        [self.window makeKeyAndVisible];
        return YES;
    }

    运行之后的结果是:

  • 相关阅读:
    VS2010版快捷键
    Win7旗舰版中的IIS配置asp.net的运行环境
    实现软件自动在线升级的原理
    view_countInfo
    C#尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
    error: 40
    SQL Server 2008 阻止保存要求重新创建表的更改问题的设置方法
    继承实现圆柱体面积体积的计算
    圆柱模板价格计算器V1.0版本
    python3.7内置函数整理笔记
  • 原文地址:https://www.cnblogs.com/pengpengzhang/p/4653516.html
Copyright © 2011-2022 走看看