下述属性全为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