“口袋郴州”项目总结-标签控制器

//
//  AppDelegate.m
//  KouDaiChenhZhou
//
//  Created by jishubumac on 14/11/7.
//  Copyright (c) 2014年 jishubumac. All rights reserved.
//

#import "AppDelegate.h"
#import "PublicHeader.h"
#import <ShareSDK/ShareSDK.h>

@interface AppDelegate ()<UITabBarDelegate>//引用协议
{
    UITabBarController *tabBarVCtrl;
    UITabBar *tabBar;
    SheQuViewController *SQVCtrl;
    ZhaoPinViewController*  ZPVCtrl;
    ViewController* VCtrl;
    YouPinViewController* YPVCtrl;
    TuanGouViewController* TGVCtrl;
}

@end

@implementation AppDelegate

- (void)createTabBar
{
    NSArray *images = @[@"shequ0.png",@"zhaopin0.png",@"shouye0.png",@"youpin0.png",@"tuangou0.png"];//@"shequ0.png",@"zhaopin0.png",@"shouye0.png",@"youpin0.png",@"tuangou0.png"
    NSArray *selectedImages = @[@"shequ1.png",@"zhaopin1.png",@"shouye1.png",@"youpin1.png",@"tuangou1.png"];
    NSArray *titleArray = @[@"社区",@"招聘",@"首页",@"优品",@"团购"];
    //@"shequ1.png",@"zhaopin1.png",@"shouye1.png",@"youpin1.png",@"tuangou1.png"
    NSMutableArray *itemsArray = [NSMutableArray array];
    for (int i = 0; i < 5; i++) {
        UIImage *image = [UIImage imageNamed:images[i]];
        UIImage *selectedImage = [UIImage imageNamed:selectedImages[i]];
        UITabBarItem *item = [[UITabBarItem alloc] initWithTitle:titleArray[i] image:image selectedImage:selectedImage];
        item.tag = i;
        [itemsArray addObject:item];
    }
    
    tabBar = [[UITabBar alloc] initWithFrame:tabBarVCtrl.tabBar.bounds];
    tabBar.items = itemsArray;
    tabBar.backgroundImage = [UIImage imageNamed:@"TabBarBackground.png"];
    tabBar.delegate = self;
    tabBar.selectedItem = itemsArray[2];
    //接受各个页面发送过来的selectIndex值,在选中该值对应的tabBarItem
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(recieveselectedIndex:) name:@"selectedIndex" object:nil];
    [tabBarVCtrl.tabBar addSubview:tabBar];
    
}

- (void)initializePlat
{
    // 4174c00f5cae
    //5c242eac125fe6b21a1bd4f508a9dabd
    //添加新浪微博应用 注册网址 http://open.weibo.com
    [ShareSDK connectSinaWeiboWithAppKey:@"4174c00f5cae"
                               appSecret:@"5c242eac125fe6b21a1bd4f508a9dabd"
                             redirectUri:@"http://www.sharesdk.cn"];
    //当使用新浪微博客户端分享的时候需要按照下面的方法来初始化新浪的平台
    [ShareSDK  connectSinaWeiboWithAppKey:@"4174c00f5cae"
                                appSecret:@"5c242eac125fe6b21a1bd4f508a9dabd"
                              redirectUri:@"http://www.sharesdk.cn"
                              weiboSDKCls:[WeiboSDK class]];
    
    //添加腾讯微博应用 注册网址 http://dev.t.qq.com
    [ShareSDK connectTencentWeiboWithAppKey:@"4174c00f5cae"
                                  appSecret:@"5c242eac125fe6b21a1bd4f508a9dabd"
                                redirectUri:@"http://www.sharesdk.cn"
                                   wbApiCls:[WeiboApi class]];
    
    //添加QQ空间应用  注册网址  http://connect.qq.com/intro/login/
    [ShareSDK connectQZoneWithAppKey:@"4174c00f5cae"
                           appSecret:@"5c242eac125fe6b21a1bd4f508a9dabd"
                   qqApiInterfaceCls:[QQApiInterface class]
                     tencentOAuthCls:[TencentOAuth class]];
    
    //添加QQ应用  注册网址  http://open.qq.com/
    [ShareSDK connectQQWithQZoneAppKey:@"4174c00f5cae"
                     qqApiInterfaceCls:[QQApiInterface class]
                       tencentOAuthCls:[TencentOAuth class]];
    
    //添加微信应用 注册网址 http://open.weixin.qq.com
    [ShareSDK connectWeChatWithAppId:@"wx4868b35061f87885"
                           appSecret:@"5c242eac125fe6b21a1bd4f508a9dabd"
                           wechatCls:[WXApi class]];
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    [ShareSDK registerApp:@"4174c00f5cae"];     //参数为ShareSDK官网中添加应用后得到的AppKey
    
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    SQVCtrl = [[SheQuViewController alloc] init];
    UINavigationController *NavCtrl = [[UINavigationController alloc] initWithRootViewController:SQVCtrl];
    ZPVCtrl = [[ZhaoPinViewController alloc] init];
    UINavigationController *NavCtrl2 = [[UINavigationController alloc] initWithRootViewController:ZPVCtrl];
    
    VCtrl = [[ViewController alloc] init];
    UINavigationController *NavCtrl3 = [[UINavigationController alloc] initWithRootViewController:VCtrl];
    
    
    YPVCtrl = [[YouPinViewController alloc] init];
    UINavigationController *NavCtrl4 = [[UINavigationController alloc] initWithRootViewController:YPVCtrl];
    
    TGVCtrl = [[TuanGouViewController alloc] init];
    UINavigationController *NavCtrl5 = [[UINavigationController alloc] initWithRootViewController:TGVCtrl];
    
    tabBarVCtrl = [[UITabBarController alloc] init];
    tabBarVCtrl.viewControllers = @[NavCtrl,NavCtrl2,NavCtrl3,NavCtrl4,NavCtrl5];
    tabBarVCtrl.selectedIndex = 2;//初始化选中第二个
    tabBarVCtrl.tabBar.selectedImageTintColor = [UIColor greenColor];//设置tabBarItem选中时的字图颜色,iOS 8.0中没有该属性(若设置,会出现警告)
    self.window.rootViewController = tabBarVCtrl;
    
    [self createTabBar];
    [self initializePlat];//初始化平台
    return YES;
}

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
    tabBarVCtrl.selectedViewController = tabBarVCtrl.viewControllers[item.tag];
    //点击切换页面,并使选中的页面的webView重新加载主页
    switch (item.tag) {
        case 0:
            [SQVCtrl.webView loadRequest:[NSURLRequest requestWithURL:SQVCtrl.homeurl]];break;
        case 1:
            [ZPVCtrl.webView loadRequest:[NSURLRequest requestWithURL:ZPVCtrl.homeurl]];break;
        case 2:
            [VCtrl.webView loadRequest:[NSURLRequest requestWithURL:VCtrl.homeurl]];break;
        case 3:
            [YPVCtrl.webView loadRequest:[NSURLRequest requestWithURL:YPVCtrl.homeurl]];break;
        case 4:
            [TGVCtrl.webView loadRequest:[NSURLRequest requestWithURL:TGVCtrl.homeurl]];break;
        default:
            break;
    }
    
}

- (void)recieveselectedIndex:(NSNotification *)sender
{
    NSInteger currentIndex = [[sender object] intValue];//将字符串转化为基本数据类型,给currentIndex赋值
    tabBar.selectedItem = tabBar.items[currentIndex];//设置索引为currentIndex的tabBarItem为选中
}

时间: 2024-10-06 07:25:19

“口袋郴州”项目总结-标签控制器的相关文章

“口袋郴州”项目总结-UIwebView用法总结(附带下拉刷新)

////  ViewController.h//  KouDaiChenhZhou////  Created by jishubumac on 14/11/7.//  Copyright (c) 2014年 jishubumac. All rights reserved.////UIWebView下拉刷新框架原创下载地址:http://code4app.com/ios/UIWebView-%E4%B8%8B%E6%8B%89%E5%88%B7%E6%96%B0/51aee3c16803fa770

“口袋郴州”项目总结-NSNotificationCenter

1.发送中心,在要发出通知消息的地方 [[NSNotificationCenter defaultCenter] postNotificationName:@"Firstnotification" object:urlstr2]; 参数: postNotificationName:通知的名字,也是通知的唯一标示,编译器就通过这个找到通知的. object:传递的参数 2.添加观察者,接受通知的地方 [[NSNotificationCenter defaultCenter] addObs

集合视图控制器(CollectionViewController) 、 标签控制器(TabBarController) 、 高级控件介绍

  1 创建集合视图,设置相关属性以满足要求 1.1 问题 集合视图控制器UIConllectionViewController是一个展示大量数据的控制器,系统默认管理着一个集合视图UICollectionView,功能几乎和UITableViewController差不多,能够以多行多列的形式展示数据. 集合视图UICollectionView继承至UIScrollView,也同tableView一样有两个协议,分别是UICollectionViewDataSource数据源协议和UIColl

【iOS开发-28】制造UITabBarController标签控制器的过程以及定制UITabBarItem文字图片的6种方式

一.一个简单的创造过程(实际项目不推荐这种方式,仅做演示理解原理用) 在AppDelegate.m中: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //创建一个到导航控制器 UIViewController *vc1=[[UIViewController alloc]init]; UINavigationControll

UIKit框架(13)标签控制器UITabBarController

标签控制器UITabBarController介绍 跟UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型的例子就是QQ.微信等应用. 底部包含一个UITabBar标签栏,点击标签栏上的按钮实现页面的切换 代码使用UITabBarController UITabBarController包含一个控制器数组: @property(nonatomic, copy) NSArray *viewControlle

UITabBarController 标签控制器

创建标签控制器    UITabBarViewController * TVC = [[UITabBarViewController alloc]init]; //初始化    self.window.rootViewController = TVC;    [TVC release];

iOS开发中标签控制器的使用——UITabBarController

正文 iOS开发中标签控制器的使用——UITabBarController 一.引言 与导航控制器相类似,标签控制器也是用于管理视图控制器的一个UI控件,在其内部封装了一个标签栏,与导航不同的是,导航的管理方式是纵向的,采用push与pop切换控制器,标签的管理是横向的,通过标签的切换来改变控制器,一般我们习惯将tabBar作为应用程序的根视图控制器,在其中添加导航,导航中在对ViewController进行管理. 二.创建一个标签控制器 通过如下的步骤,我们可以很简便的创建一个TabBarCo

滚动标签控制器思路

滚动标签控制器 分为 1.标签滚动视图 (tabScrollView) 2.页滚动视图 (pageScrollView) 要求: 1. 可以设定一页有多少个tab(标签) 2. 设定标签的标题 3. 点击标签, 标签下方的红线会动画滑动到被点击标签的下方, 并且页视图会滚动对应下标的页到当前屏幕 4. 滑动页滚动视图翻页, 并且标签下方的红色会随之滑动, 并且标签会判断是否在显示范围内, 不过不再范围内也应自动滑动到可视位置 5. 必须设定标签滚动视图的父视图 和 frame (required

【git学习四】git基础之git为项目打标签

1.背景 今天学习了下如何给项目打标签,为此项目的修改标记版本号,然后可以直接推送版本号到服务器上,方便了很多,而且便于对项目进行管理. 2.打标签 1.查询已有标签,可以使用git tag命令,查询某个特定版本可以git tag -l 'v*' git tag 2.为版本创建标签 git tag -a v1.4 -m 'my version 1.4' 3.查看添加的标签,git show命令 git show 4.也可以对之前的某次commit加标签 git tag -a v1.2 9fceb