iOS学习之UINavigationController

Posted 技术大白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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风格时,按钮颜色始终为蓝色。 

 

以上是关于iOS学习之UINavigationController的主要内容,如果未能解决你的问题,请参考以下文章

。。。IO流学习之二。。。

IOS学习之UITableView滚动到指定位置

iOS学习之手势

Java学习之IO字节流

iOS学习之UINavigationController

IO流学习之字节流