ios开发之自己定义默认生成的导航栏 标题 颜色 返回button
一 改动导航栏颜色 导航栏在哪个页面代码放在那里面
self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:(21.0/255.0) green:(153.0 / 255.0) blue:(224.0 / 255.0) alpha:1]; //定义导航栏颜色
self.navigationItem.title = @"自己定义"; //定义导航栏的标题
二 导航栏自带一个返回button,我们须要定制它的样式。这能够有很多办法。
比方 Hack 导航栏的视图层次。假设你不想 Hack 导航栏。那么你能够使用NavigationBarDelegate。
问题在于,假设是导航控制器自带的NavigationBar。你将不能訪问NavigationBar(程序会Crash)。这是苹果文档中的说明:
Note that if you use aUINavigationController object to manage hierarchical navigation, you should notdirectly access the navigation bar object.
这里,我们提供还有一种“定制”方法。
或许不能称之为定制。由于我们实际上是将默认的返回button隐藏了,并提供一个自己定义的返回button作为导航栏的leftButton。使用这样的方法,我们不仅能够定制button的样式(标题和背景图片)。并且能够触发自己定义的方法。默认的返回button动作是popViewController,我们能够改动为其它动作。
这个过程大概分为4个步骤:
1、隐藏默认返回button,这是通过设置navigationItem的hidesBackButton为YES做到的:
//隐藏默认的"返回"button
[self.navigationItemsetHidesBackButton:YES];
2、自己定义一个BarButtonItem。首先,我们定制一个UIButton。 这个UIButton用buttonWithType:UIButtonTypeCustom方法初始化。然后用setBarckgroundImage方法定制button的背景图片。用addTarget方法指定button的事件处理方法。这样我们就获得了一个全然定制的Button。BarButtonItem有一个initWithCustomView:的初始化方法。我们能够把一个定制的视图(比方我们定制的Button)作为这种方法的參数,构建出一个BarButtonItem。
//自己定义导航栏的"返回"button
UIButton*btn = [UIButtonbuttonWithType:UIButtonTypeCustom];
btn. frame=CGRectMake(15, 5, 38, 38);
[btn setBackgroundImage:[UIImage imageNamed:@"返回.png"] forState:UIControlStateNormal];
[btn addTarget:selfaction:@selector(goBackAction)forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem*back=[[UIBarButtonItemalloc]initWithCustomView:btn];
3、把BarButtonItem 设置为 navigationItem的leftBarButton。
//设置导航栏的leftButton
self.navigationItem.leftBarButtonItem=back;
4、编写Button的事件代码。
-(void)goBackAction{
// 在这里添加返回button的自己定义动作
[self.navigationControllerpopViewControllerAnimated:YES];
}
转自:http://blog.sina.com.cn/s/blog_a5ef060c01013946.html
ios开发之自己定义默认生成的导航栏 标题 颜色 返回button的更多相关文章
- iOS导航栏标题颜色
按钮的颜色 [self.navigationBar setTintColor:[UIColor whiteColor]]; 标题颜色.字体 [self.navigationBar setTitleTe ...
- 【转】iOS中设置导航栏标题的字体颜色和大小
原文网址:http://www.360doc.com/content/15/0417/11/20919452_463847404.shtml iOS中设置导航栏标题的字体颜色和大小,有需要的朋友可以参 ...
- iOS中设置导航栏标题的字体颜色和大小
iOS中设置导航栏标题的字体颜色和大小,有需要的朋友可以参考下. 在平时开发项目的时候,难免会遇到修改导航栏字体大小和颜色的需求,一般使用自定义视图的方法,其实还存在一种方法. 方法一:(自定义视图的 ...
- iOS改变UINavigationBar导航条标题颜色和字体
转自:http://www.2cto.com/kf/201311/260409.html iOS 5 以后 UINavigationController 可以 改变UINavigationBar导航条 ...
- iOS开发之--宏定义与const的区别及使用方法
宏定义的常见用法: 定义一段代码,或指定字符串抽成宏. const(常量): 当有字符串常量的时候,苹果推荐我们使用const,苹果经常把常用的字符串定义成const 宏定义与const的区别: 编译 ...
- iOS开发笔记--宏定义的黑魔法 - 宏菜鸟起飞手册
宏定义在C系开发中可以说占有举足轻重的作用.底层框架自不必说,为了编译优化和方便,以及跨平台能力,宏被大量使用,可以说底层开发离开define将寸步难行.而在更高层级进行开发时,我们会将更多的重心放在 ...
- iOS开发——UI进阶篇(十)导航控制器、微博详情页、控制器的View的生命周期
一.导航控制器出栈 1.initWithRootViewController本质 UIViewController *vc = [[OneViewController alloc] init]; // ...
- 【iOS开发-76】Private Contacts案例:导航控制器使用、数据传递、第三方类库使用、tableViewCell的加入删除、数据存储等
(1)效果 (2)源码与第三方类库下载 http://download.csdn.net/detail/wsb200514/8155979 (3)总结 --导航控制器,能够直接用代码的push和pop ...
- IOS开发-UI学习-UINavigationController(导航控制器)的使用
UINavigationController是IOS 中常用的功能,基本用法如下: 1.在AppDelegate.m中添加如下代码: #import "AppDelegate.h" ...
随机推荐
- git 的右键快捷菜单恢复
最近装了个vs 2017 的社区版的,发现之前安装的git的右键快捷方式不见了,因此在此写备注,只要是git的安装位置是默认位置的,也可以使用此注册表恢复,其他路径请自行修改reg文件 主要是针对gi ...
- xfce-OpenVAS自动化安全风险评估指南
1. 登录系统 在客户端,打开浏览器,在地址栏输入https://IP:9392/ 看到如下界面: 我们要信任此网站,点击继续浏览此网站,进入系统登录界面,如下图: 输入我提供的通用登录账号:wdl ...
- Matplotlib基本图形之条形图2
Matplotlib基本图形之条形图2 1.绘制多条条形图 示例代码: import time import numpy as np import matplotlib.pyplot as plt b ...
- PHP过滤器 filter_has_var() 函数
定义和用法 filter_has_var() 函数检查是否存在指定输入类型的变量. 如果成功则返回 TRUE,如果失败则返回 FALSE. 语法 filter_has_var(type, variab ...
- wordpress无法登录的解决方法
使用wordpress建站的朋友可能会遇到wordpress管理密码,有时甚至是正确的密码,但是多次尝试输入都无法登录,并且输入用户名和输入电子邮件都无法获取密码,遇到这种情况怎么办,本文教你如何处理 ...
- CodeForces 321C Ciel the Commander
Ciel the Commander Time Limit: 1000ms Memory Limit: 262144KB This problem will be judged on CodeForc ...
- 【Luogu】P1967货车运输(最大生成森林+倍增LCA)
题目链接 倍增LCA是个什么蛇皮原理啊,循环完了还得再往上跳一次才能到最近公共祖先 合着我昨天WA两次就是因为这个 建最大生成森林,因为图不一定是联通的,所以不一定是一棵树.这个地方用克鲁斯卡尔就好了 ...
- 作诗(bzoj 2821)
Description 神犇SJY虐完HEOI之后给傻×LYD出了一题:SHY是T国的公主,平时的一大爱好是作诗.由于时间紧迫,SHY作完诗 之后还要虐OI,于是SHY找来一篇长度为N的文章,阅读M次 ...
- spring-Ioc容器与bean
1. spring 的beanFactory容器 bean.xml HelloWorld实体类与spring教程学习笔记1相同 public static void main(String[] ar ...
- 如何查看项目的Laravel框架的版本
如何查看项目的Laravel框架的版本 接触到一个已有的使用Laravel框架的项目时, 打开项目根目录下的composer.json文件, 找到 laravel/framework 的值,即可查看版 ...