iOS学习之UINavigationController

下述属性全为iOS7以后

设置导航条风格

self.navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent;

设置导航条背景颜色

self.navigationController.navigationBar.backgroundColor = [UIColor redColor];

设置导航条背景颜色时,导航条风格不能是UIBarStyleDefault。

设置导航条背景图片

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navBg"] forBarMetrics:UIBarMetricsDefault];

UIBarMetricsDefault 为iPhone的模式(竖屏叫做人像模式、横屏叫做风景模式),设置背景图片后,背景颜色会被遮挡。图片尺寸高度需为44。如果过窄会被平铺填充,过大会超出。但是可以设置导航条的另一个属性来进行裁剪。如果想导航条填充到状态栏,高度设为64,clipsToBounds需为NO。

self.navigationController.navigationBar.clipsToBounds = YES;

设置导航条隐藏

self.navigationController.navigationBarHidden = YES;

iOS7以后,视图控制器的view的起始点是从屏幕最顶端开始,包括状态栏。因此布局时需要留出20像素。

UINavigationItem详解

常用属性和方法:

@property(nonatomic, copy) NSString *title;    //设置标题,显示在导航栏中间
@property(nonatomic, retain) UIView *titleView;    //设置标题视图,显示在导航栏中间位置
@property(nonatomic, retain) UIBarButtonItem *leftBarButtonItem;    //左侧按钮
@property(nonatomic, retain) UIBarButtonItem *rightBarButtonItem;    //右侧按钮

-(void)setLeftBarButtonItem:(UIBarButtonItem*)item animated:(BOOL)animated;
-(void)setRightBarButtonItem:(UIBarButtonItem*)item animated:(BOOL)animated;
-(void)setLeftBarButtonItems:(NSArray *)items animated:(BOOL)animated;    //设置左侧的一组按钮
-(void)setRightBarButtonItems:(NSArray *)items animated:(BOOL)animated;    //设置右侧的一组按钮

UIBarButtonItem的初始化方法

-(id)initWithImage:(UIImage*)image style:(UIBarButtonItemStyle)style target:(id)target action:(SEL)action;

-(id)initWithTitle:(NSString*)title style:(UIBarButtonItemStyle)style target:(id)target action:(SEL)action;

-(id)initWithBarButtonSystemItem:(UIBarButtonSystemItem*)systemItem  target:(id)target action:(SEL)action;

-(id)initWithCustomView:(UIView *)customView;

UIBarButtonItemStyle为UIBarButtonItemStylePlain风格时,按钮颜色随导航条的颜色变化,为UIBarButtonItemStyleDone风格时,按钮颜色始终为蓝色。

时间: 2024-10-11 13:14:44

iOS学习之UINavigationController的相关文章

iOS学习之UINavigationController详解与使用(二)页面切换和segmentedController

1.RootView 跳到SecondView 首先我们需要新一个View.新建SecondView,按住Command键然后按N,弹出新建页面,我们新建SecondView 2.为Button 添加点击事件,实现跳转 在RootViewController.xib中和RootViewController.h文件建立连接 在RootViewController.m中实现代码,alloc一个SecondViewController,用pushViewController到navigationCon

iOS学习之UINavigationController详解与使用(三)ToolBar

1.显示Toolbar  在RootViewController.m的- (void)viewDidLoad方法中添加代码,这样Toobar就显示出来了. [cpp] view plaincopyprint? [self.navigationController  setToolbarHidden:NO animated:YES]; [self.navigationController setToolbarHidden:NO animated:YES]; 2.在ToolBar上添加UIBarBu

[转]iOS学习之UINavigationController详解与使用(二)页面切换和segmentedController

转载地址:http://blog.csdn.net/totogo2010/article/details/7682433 iOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem是上篇,我们接着讲UINavigationController的重要作用,页面的管理和切换. 1.RootView 跳到SecondView 首先我们需要新一个View.新建SecondView,按住Command键然后按N,弹出新建页面,我们新建SecondView 2

[转]iOS学习之UINavigationController详解与使用(三)ToolBar

转载地址:http://blog.csdn.net/totogo2010/article/details/7682641 iOS学习之UINavigationController详解与使用(二)页面切换和segmentedController 接上篇,我们接着讲Navigation 的Toolbar. 1.显示Toolbar  在RootViewController.m的- (void)viewDidLoad方法中添加代码,这样Toobar就显示出来了. [cpp] view plaincopy

[转]iOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem

转载地址:http://blog.csdn.net/totogo2010/article/details/7681879 1.UINavigationController导航控制器如何使用 UINavigationController可以翻译为导航控制器,在iOS里经常用到. 我们看看它的如何使用: 下面的图显示了导航控制器的流程.最左侧是根视图,当用户点击其中的General项时 ,General视图会滑入屏幕:当用户继续点击Auto-Lock项时,Auto-Lock视图将滑入屏幕.相应地,在

iOS学习心得——UINavigationController

UINavigationController和UItableviewController一样也是iOS开发中常用的控件之一,今天就来学习一下它的常见用法. 有人说tableview是最难的,因为涉及到和数据的交互,但在我看来,UINavigationController应该是相对来说挺复杂的一个控件,因为移动端的开发,用户体验是最重要的,所以好的视觉交互成了必不可少的一部分,这就要求我们在视觉层面上多下功夫,UINavigationController里面各属性的耦合,的确有些繁琐,今天就来好好

iOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem

转自:http://blog.csdn.net/totogo2010/article/details/7681879 1.UINavigationController导航控制器如何使用 UINavigationController可以翻译为导航控制器,在iOS里经常用到. 我们看看它的如何使用: 下面的图显示了导航控制器的流程.最左侧是根视图,当用户点击其中的General项时 ,General视图会滑入屏幕:当用户继续点击Auto-Lock项时,Auto-Lock视图将滑入屏幕.相应地,在对象

[IOS学习笔记] UINavigationController Demo

//AppDelegate.m - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. self.window = [[UIWindow alloc] initWithFrame:[[UIScreen main

IOS学习笔记 -- Modal和Quartz2D

一. Modal1.Modal的默认效果:新控制器从屏幕的最底部往上钻,直到盖住之前的控制器为止;Modal只是改变了View的现实,没有改变rootViewController 2.常用方法1>.以Modal的形式展示控制器- (void)presentViewController:(UIViewController *)viewControllerToPresent animated: (BOOL)flag completion:(void (^)(void))completion2>.关