標籤:
下述屬性全為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