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" ...
随机推荐
- Python基础之字符编码,文件操作流与函数
一.字符编码 1.字符编码的发展史 阶段一:现代计算机起源于美国,最早诞生也是基于英文考虑的ASCII ASCII:一个Bytes代表一个字符(英文字符/键盘上的所有其他字符),1Bytes=8bit ...
- Java-转换原始类型为一个字符串
package com.tj; public class MyClass implements Cloneable { public static void main(String[] args) { ...
- Windows phone UI虚拟化和数据虚拟化(一)
今天和大家分享一些关于windows phone ui虚拟化和数据虚拟化的一些知识. 也顺便回答我上一篇[LongListSelector 控件 在 wp7 和wp8中的不同之处]里,留下的那个问题, ...
- World Finals 2017
Need for Speed Sheila is a student and she drives a typical student car: it is old, slow, rusty, a ...
- iOS学习笔记21-推送证书与秘钥申请
---恢复内容开始--- 一.iOS证书 iOS常用的证书包括开发证书和发布证书,无论是真机调试还是最终发布应用到App Store这两个证书都是必须的,它是iOS开发的基本证书.Xcode7以后真机 ...
- 【Luogu】P1868饥饿的奶牛(DP)
题目链接 话说我存一些只需要按照一个关键字排序的双元素结构体的时候老是喜欢使用链式前向星…… DP.f[i]表示前i个位置奶牛最多能吃到的草.转移方程如下: f[i]=f[i-]; f[i]=max( ...
- BZOJ 2337 [HNOI2011]XOR和路径 ——期望DP
首先可以各位分开求和 定义$f(i)$表示从i到n的期望值,然后经过一些常识,发现$f(n)=1$的时候的转移,然后直接转移,也可以找到$f(n)=0$的转移. 然后高斯消元31次就可以了. #inc ...
- 转载: LINK : fatal error LNK1104: 无法打开文件“mfc71.lib”的原因又一例
转载地址:http://blog.csdn.net/mxclxp/article/details/8196142 LINK : fatal error LNK1104: 无法打开文件“mfc71.li ...
- *Codeforces989D. A Shade of Moonlight
数轴上$n \leq 100000$个不重叠的云,给坐标,长度都是$l$,有些云速度1,有些云速度-1,风速记为$w$,问在风速不大于$w_{max}$时,有几对云可能在0相遇.每一对云单独考虑. 多 ...
- GDOI2018 新的征程
看标题您一定以为考得很好.. Bad ending.想看美好结局的出门右转其他大佬博客. Day0 早上去车站的时候心情挺好.倒不是因为自己做足了准备,也不是因为预感到有好事发生,而是心情不好也没有用 ...