手机QQ底部分栏效果【标签栏】

AppDelegate.m

//
//  AppDelegate.m
//  Task5
//
//  Created by lyb on 14-9-27.
//  Copyright (c) 2014年 imac. All rights reserved.
//

#import "AppDelegate.h"
#import "FirstViewController.h"
#import "SecondViewController.h"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];

    FirstViewController *firstCtrl = [[FirstViewController alloc] init];
    SecondViewController *secondCtrl =[[SecondViewController alloc] init];

    UINavigationController *navCtrl1 = [[UINavigationController alloc] initWithRootViewController:firstCtrl];
    UINavigationController *navCtrl2 = [[UINavigationController alloc] initWithRootViewController:secondCtrl];

    UITabBarController *tabbarCtrl = [[UITabBarController alloc] init];
    tabbarCtrl.viewControllers = @[navCtrl1, navCtrl2];

    self.window.rootViewController = tabbarCtrl;

    return YES;
}

@end

FirstViewController.m

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.title = @"左";

    self.view.backgroundColor = [UIColor redColor];
}

SecondViewController.m

#import "SecondViewController.h"
#import "ThirdViewController.h"

@interface SecondViewController ()

@end

@implementation SecondViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        self.title = @"右";
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.view.backgroundColor = [UIColor greenColor];

    UIButton *button = [UIButton buttonWithType:UIButtonTypeContactAdd];
    button.frame = CGRectMake(90, 90, 90, 50);
    [button addTarget:self action:@selector(buttonAction) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:button];
}

- (void)buttonAction
{
    ThirdViewController *thirdCtrl = [[ThirdViewController alloc] init];

    [self.navigationController pushViewController:thirdCtrl animated:YES];
}

ThirdViewController.m

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        //隐藏标签栏工具栏
        self.hidesBottomBarWhenPushed = YES;
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.view.backgroundColor = [UIColor orangeColor];
    self.title = @"三";

}
时间: 2024-08-23 22:48:51

手机QQ底部分栏效果【标签栏】的相关文章

iOS 顶部高斯模糊导航栏 + 页面内容穿越底部导航栏效果

(1)如果是使用系统导航栏则设置其translucent属性即可: [self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault]; self.navigationController.navigationBar.shadowImage = [UIImage new]; self.navigationController.navigationB

Android学习笔记---使用TabHost实现微信底部导航栏效果

一. TabHost介绍 TabHost组件可以在界面中存放多个选项卡, 很多软件都使用了改组件进行设计; 1. TabHost常用组件 TabWidget : 该组件就是TabHost标签页中上部 或者 下部的按钮, 可以点击按钮切换选项卡; TabSpec : 代表了选项卡界面, 添加一个TabSpec即可添加到TabHost中; -- 创建选项卡 : newTabSpec(String tag), 创建一个选项卡; -- 添加选项卡 : addTab(tabSpec); 2. TabHos

Android仿小米商城底部导航栏之二(BottomNavigationBar、ViewPager和Fragment的联动使用)

简介 在前文<Android仿小米商城底部导航栏(基于BottomNavigationBar)>我们使用BottomNavigationBar控件模仿实现了小米商城底部导航栏效果.接下来更进一步的,我们将通过BottomNavigationBar控件和ViewPager空间的联动使用来实现主界面的滑动导航. 导航是移动应用最重要的方面之一,对用户体验是良好还是糟糕起着至关重要的作用.好的导航可以让一款应用更加易用并且让用户快速上手.相反,糟糕的应用导航很容易让人讨厌,并遭到用户的抛弃.为了打造

葡萄城报表之分栏报表-物品清单报表实现

提起分栏报表,它的数据组织形式就如同小时候使用的数学作业本一样,将数据分为多栏显示,当然写作业时有的人习惯横向写,有的人则喜欢竖着写完,在写另一栏.所有的电子技术都是采用隐喻的手法,从物理世界而来,分栏报表也是源于生活,分栏报表也可以行分栏(竖向分栏)和列分栏(横向分栏). 分栏数可以分为两栏或多栏. 行分栏数据流从上往下的方向显示数据,超过固定的行数就另起一栏显示,列分栏的数据的流向是从左往右,超过固定的列数就另起一栏显示.在商业报表系统中常见的分栏报表有商品标签.员工工卡.条码打印等.由此可

分栏报表-物品清单报表实现

提起分栏报表,它的数据组织形式就如同小时候使用的数学作业本一样,将数据分为多栏显示,当然写作业时有的人习惯横向写,有的人则喜欢竖着写完,在写另一栏.所有的电子技术都是采用隐喻的手法,从物理世界而来,分栏报表也是源于生活,分栏报表也可以行分栏(竖向分栏)和列分栏(横向分栏).分栏数可以分为两栏或多栏.行分栏数据流从上往下的方向显示数据,超过固定的行数就另起一栏显示,列分栏的数据的流向是从左往右,超过固定的列数就另起一栏显示. 在商业报表系统中常见的分栏报表有商品标签.员工工卡.条码打印等.由此可见

分栏报表制作攻略

一.分栏的意义 我们常常会遇到一些列数很少行数很多的报表,这种报表窄窄长长,打印在一张 A4 纸上,横向留出大片空白:或者行数很少,列数很多的报表,打印在 A4 纸上,纵向留出大片空白·····这些情况下不但浪费张纸而且不美观,不方便用户查阅. 为了解决这种问题,我们提出了分栏的解决方案,把数据按照一定的规则分栏分块的显示在纸张上.下面我们来具体看一下润乾报表是如何解决分栏问题的. 二.分栏的实现方法 我们吧分栏大致分为三类:卡片分栏.行分栏.列分栏.我们按照分类看下不同类别下应该如何实现分栏效

bootstrap实现分栏选择性显示和折叠效果

bootstrap为我们提供了非常丰富的js插件和css样式,如何运用bootstrap来实现分栏选择行显示和折叠效果,如下所示: 1.分栏显示 <!doctype html> <html> <head> <!--导入bootstrap样式--> <link href="bootstrap/css/bootstrap.css" rel="stylesheet" type="text/css"&

记录一下本应用《任您记)APP项目中点击底部导航栏四个按钮,则界面颜色跟着变化及图标字放大效果

底部导航栏四个按钮代表四个颜色,点其中其中一个按钮,则换一种颜色,颜色代码和图标都保存在相应的数组里,具体如下: 使用的开源库是:LuseenBottomNavigation本应用<任您记)APP项目中用法是依赖:compile 'com.github.armcha:LuseenBottomNavigation:1.8.2' 主要代码: if (bottomNavigationView != null) {bottomNavigationView.isWithText(false);bottom

03-Flutter移动电商实战-底部导航栏制作

1.cupertino_IOS风格介绍 在Flutter里是有两种内置风格的: material风格: Material Design 是由 Google 推出的全新设计语言,这种设计语言是为手机.平板电脑.台式机和其他平台提供一致,更广泛的外观和感觉.我喜欢称它为纸墨设计.Material Design 风格是一种非常有质感的设计风格,并会提供一些默认的交互动画. cupertino风格:即 IOS 风格组件,它重现了很多经典的有 IOS 特性的交互和界面风格,让适用于 IOS 的人感觉亲切和