文档章节

导航栏(UINavigationBar、UINavigationItem)

zbser
 zbser
发布于 2014/04/27 21:32
字数 355
阅读 1803
收藏 5
点赞 0
评论 0

AppDelegate.m:

#import "AppDelegate.h"
#import "RootViewController.h"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    
    RootViewController *rootViewController = [[RootViewController alloc] init];
    self.window.rootViewController = rootViewController;
    
    return YES;
}


RootViewController.m:

#import "RootViewController.h"

@interface RootViewController ()

@end


@implementation RootViewController


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


- (void)viewDidLoad
{
    [super viewDidLoad];
    
    //创建一个导航栏
    UINavigationBar *navBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44+20)];
    
    //创建一个导航栏集合
    UINavigationItem *navItem = [[UINavigationItem alloc] initWithTitle:nil];
    
    
    //在这个集合Item中添加标题,按钮
    //style:设置按钮的风格,一共有三种选择
    //action:@selector:设置按钮的点击事件
    //创建一个左边按钮
    UIBarButtonItem *leftButton = [[UIBarButtonItem alloc] initWithTitle:@"左边" style:UIBarButtonItemStylePlain target:self action:@selector(clickLeftButton)];
    //创建一个右边按钮
    UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"右边" style:UIBarButtonItemStylePlain target:self action:@selector(clickRightButton)];
    
    //设置导航栏的内容
    [navItem setTitle:@"导航栏"];
    
    //把导航栏集合添加到导航栏中,设置动画关闭
    [navBar pushNavigationItem:navItem animated:YES];
    
    // 把左右两个按钮添加到导航栏集合中去
    [navItem setLeftBarButtonItem:leftButton];
    [navItem setRightBarButtonItem:rightButton];
    
    // 将导航栏中的内容全部添加到主视图当中
    [self.view addSubview:navBar];
    
    // 最后将控件在内存中释放掉,以避免内存泄露
    // [navItem release];
    // [leftButton release];
    // [rightButton release];
}


-(void) clickLeftButton
{
    [self showDialog:@"点击了导航栏左边按钮"];
}


-(void) clickRightButton
{
    [self showDialog:@"点击了导航栏右边按钮"];
}


-(void)showDialog:(NSString *)str
{
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"title" message:str delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil];
    [alert show];
    // [alert release];
}


代码例子下载:http://pan.baidu.com/s/1o6qc9Yi





本文转载自:http://blog.csdn.net/enuola/article/details/7913711

共有 人打赏支持
zbser
粉丝 1
博文 27
码字总数 4909
作品 0
绍兴
高级程序员
UI_08 UINavigationController、界面通信

⼀、UINavigationController UINavigationController:导航控制器,是iOS中最常⽤的多视图控制器 之⼀,它⽤来管理多个视图控制器。 导航控制器可以认为是管理控制器的控制器,主要管理有层级...

黑伞将军
2015/08/25
0
0
iOS开发UINavigation系列二——UINavigationItem

iOS开发UINavigation系列二——UINavigationItem 一、引言 UINavigationItem是导航栏上用于管理导航项的类,在上一篇博客中,我们知道导航栏是通过push与pop的堆栈操作来对item进行管理的,同...

珲少
2015/11/08
0
0
iOS开发UINavigation系列三——工具栏UIToolBar

iOS开发UINavigation系列三——工具栏UIToolBar iOS中除了UINavinationBar之外,还有工具栏UIToolBar可以供我们使用,工具栏和导航栏十分类似,只是功能更加简单,工具栏中也有UIBarButtonIt...

珲少
2015/11/09
0
0
iOS开发UINavigation系列一——导航栏UINavigtionBar

iOS开发UINavigation系列一——导航栏UINavigtionBar 一、导航栏的使用 在iOS开发中,我们通常会使用导航控制器,导航控制器中封装了一个UINavigationBar,实际上,我们也可以在不使用导航控...

珲少
2015/11/08
0
1
UINavigationBar UINavigationItem UIBarButtonItem

UINavigationBar 主要用来设置导航栏的背景图片 UINavigationItem 主要是作为UIBarButtonItem的容器用来存放leftBarButtonItem 主要接口: - (void)setLeftBarButtonItems:(nullable NSArra...

coderHan
2016/03/03
29
0
如何设置backBarButtonItem的title、image和action

1、为什么在UIViewController内设置了self.navigationItem.backBarButtonItem 对于导航栏显示的backBarButtonItem不起任何作用? 首先我们得了解一下 backBarButtonItem leftBarButtonItem ...

hejunbinlan
2015/08/24
184
0
iOS开发UINavigation系列四——导航控制器UINavigationController

iOS开发UINavigation系列四——导航控制器UINavigationController 一、引言 在前面的博客中,我么你介绍了UINavigationBar,UINavigationItem和UIToolBar,UINavigationController是将这些控...

珲少
2015/11/10
0
1
UINavigationController导航控制器

1.UINavigationController概述 UINavigationController继承于UIViewController,以栈的方式管理所控制的视图控制器,所以至少要有一 个被管理的视 图控制器 UINavigationController通过入栈和出...

tuwangsheng
2014/04/29
0
0
拦截UIViewController的popViewController事件

实现拦截的操作有两种方式: 自定义实现返回按钮,即设置来实现自定义的返回操作。 创建的,来定制的逻辑。 UIViewController+BackButtonHandler.h: UIViewController+BackButtonHandler.m...

coolwxb
2016/12/26
33
0
在ViewController页面用代码添加UINavigationBar

CGRect aScreenRect = [[UIScreen mainScreen] bounds]; //创建navbar UINavigationBar nav = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, aScreenRect.size.width, 44)]; //......

张志浩
2012/12/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JavaEE——JavaScript

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 JavaScript 内置对象 String对象方法: date对象...

凯哥学堂
10分钟前
0
0
Git 远程代码回滚master

方式一(推荐): git revert commit-id 方式二(不推荐):不推荐原因:推送到线上后,其它开发人员需要重新clone git reset --hard commit-id git push origin HEAD --force...

浮躁的码农
10分钟前
0
0
Elasticesearch学习(7)—— ES查询与Java API的对应关系

1、普通查询 类型 ES查询语句 Java查询实现 结果 查询格式 { "query": { "bool": { "must": [], "must_not": [], "should": [], "filter": [] } }, "from": 0, "size": 10, "sort": [] } Que......

叶枫啦啦
11分钟前
4
0
getElementsByClassName()与getElementById()区别

1.document.getElementsByClassName() 返回的是数组 使用:document.getElementsByClassName("className")[0].innerText='具体内容' 2.document.getElementById() 返回的是单个元素 使用:d......

botkenni
21分钟前
0
0
MyBatis入门

一、安装 <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>x.x.x</version></dependency> 二、从 XML 中构建 SqlSessionFactory String r......

一个yuanbeth
22分钟前
0
0
聊聊spring cloud的LoadBalancerAutoConfiguration

序 本文主要研究一下spring cloud的LoadBalancerAutoConfiguration RibbonAutoConfiguration spring-cloud-netflix-ribbon-2.0.0.RC2-sources.jar!/org/springframework/cloud/netflix/ribb......

go4it
25分钟前
0
0
【转】使用Lombok来优雅的编码

前言 Lombok 是一种 Java™ 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注解实现这一目的。 正文 添加依赖 在 pom.xml 文件中添加相关依赖:...

HAVENT
27分钟前
0
0
Dubbo 源码解读 —— 可支持序列化及自定义扩展

一、概述 从源码中,我们可以看出来。目前,Dubbo 内部提供了 5 种序列化的方式,分别为 fastjson、Hessian2、Kryo、fst 及 Java原生支持的方式 。 针对不同的序列化方式,对比内容如下: 名...

Ryan-瑞恩
35分钟前
0
0
MySQL内存设置—— MySQL server has gone away

set global max_allowed_packet=268435456

一梦心草
44分钟前
0
0
推导式

列表、集合和字典推导式 列表推导式是Python最受喜爱的特性之一。它允许用户方便的从一个集合过滤元素,形成列表,在传递参数的过程中还可以修改元素。形式如下: [expr for val in collect...

火力全開
49分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部