您好,登錄后才能下訂單哦!
1、設置標題:
self.navigationItem.title =@"系統標題";
運行:
2、自定義標題,設置titleView:
如果我們想改變標題的顏色和字體,就需要自己定義一個UILabel,自己設置好這個Label的內容,可以設置自己想要的字體、大小和顏色等。然后執行self.navigationItem.titleView = myLabel;就可以看到想要的效果。
代碼實現:
//自定義標題
UILabel *titleLable = [[UILabel alloc]initWithFrame:CGRectMake(0,0,100,44)]; //在這里只有titleLable的高度起作用
titleLable.backgroundColor = [UIColor clearColor]; //設置Lable背景的透明
titleLable.font = [UIFont boldSystemFontOfSize:20]; //設置文本字體的大小
titleLable.textColor = [UIColor blueColor]; //設置文本顏色
titleLable.textAlignment =NSTextAlignmentCenter; //設置文本格式位置
titleLable.text =@"自定義標題"; //設置標題
self.navigationItem.titleView = titleLable;
運行:
實際上,不僅僅可以將titleView設置成Label,只要是UIView的對象都可以設為titleView,例如,將上述代碼改成:
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button setTitle:@"按鈕標題" forState:UIControlStateNormal];
button.backgroundColor = [UIColor yellowColor];
[button sizeToFit];
self.navigationItem.titleView = button;
則運行起來效果如下:
3、為Navigation Bar添加左按鈕
以下是進行leftBarButtonItem設置的代碼:
self.navigationItem.leftBarButtonItem = (UIBarButtonItem *)
self.navigationItem.leftBarButtonItems = (UIBarButtonItem *)
self.navigationItemsetLeftBarButtonItem:(UIBarButtonItem *)
self.navigationItemsetLeftBarButtonItem:(UIBarButtonItem *) animated:(BOOL)
self.navigationItemsetLeftBarButtonItems:(NSArray *)
self.navigationItemsetLeftBarButtonItems:(NSArray *) animated:(BOOL)
為了在運行時不出錯,我們添加一個空方法,由將要創建的左右按鈕使用:
//空方法
-(void)myAction
{
}
添加一個左按鈕:
代碼實現:
UIBarButtonItem *leftButton = [[UIBarButtonItem alloc]
initWithTitle:@"左按鈕"
style:UIBarButtonItemStyleDone
target:self
action:@selector(myAction)];
[self.navigationItem setLeftBarButtonItem:leftButton animated:YES];
運行效果如下:
//創建一個UIBarButtonItem用的方法主要有:
[UIBarButtonItem alloc] initWithTitle:(NSString *) style:(UIBarButtonItemStyle) target:(id) action:(SEL)
[UIBarButtonItem alloc] initWithBarButtonSystemItem:(UIBarButtonSystemItem) target:(id) action:(SEL)
4、添加一個右按鈕
在ViewDidLoad方法最后添加代碼:
//添加一個右按鈕
UIBarButtonItem *rightButton = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemUndo
target:self
action:@selector(myAction)];
self.navigationItem.rightBarButtonItem = rightButton;
運行如下:
這里創建UIBarButtonItem用的方法是
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:(UIBarButtonSystemItem) target:(id) action:(SEL)];
用了系統自帶的按鈕樣式,這些樣式的標簽和效果如下
注意,UIBarButtonSystemItemPageCurl只能在Tool Bar上顯示。
5、添加多個右按鈕
代碼實現:
//添加多個右按鈕
UIBarButtonItem *rightButton1 = [[UIBarButtonItemalloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemDone
target:self
action:@selector(myAction)];
UIBarButtonItem *rightButton2 = [[UIBarButtonItemalloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
target:nil
action:nil];
UIBarButtonItem *rightButton3 = [[UIBarButtonItemalloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemEdit
target:self
action:@selector(myAction)];
UIBarButtonItem *rightButton4 = [[UIBarButtonItemalloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
target:nil
action:nil];
UIBarButtonItem *rightButton5 = [[UIBarButtonItemalloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemOrganize
target:self
action:@selector(myAction)];
NSArray *buttonArray = [[NSArray alloc]
initWithObjects:rightButton1,rightButton2,
rightButton3,rightButton4,rightButton5,nil];
self.navigationItem.rightBarButtonItems = buttonArray;
運行效果如下:
上面的UIBarButtonSystemItemFixedSpace和UIBarButtonSystemItemFlexibleSpace都是系統提供的用于占位的按鈕樣式。
6、設置Navigation Bar背景顏色
//設置navigationBar的背景顏色
self.navigationController.navigationBar.barTintColor = [UIColor colorWithRed:79 /255.0green:195 /255.0blue:137 /255.0alpha:1.0];
運行如下:
7.設置狀態條的顏色
由于設置的是白色,所以基于視圖6.在NavigationController.m中寫入下列代碼:
代碼實現:
- (UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
運行如下:
8、設置Navigation Bar背景圖片
代碼實現:
//設置Navigation Bar背景圖片
UIImage *title_bg = [UIImage p_w_picpathNamed:@"title_bg.jpg"]; //獲取圖片
CGSize titleSize =self.navigationController.navigationBar.bounds.size; //獲取Navigation Bar的位置和大小
title_bg = [selfscaleToSize:title_bgsize:titleSize];//設置圖片的大小與Navigation Bar相同
[self.navigationController.navigationBar
setBackgroundImage:title_bg
forBarMetrics:UIBarMetricsDefault]; //設置背景
添加一個方法用于調整圖片大小:
- (UIImage *)scaleToSize:(UIImage *)img size:(CGSize)size{
UIGraphicsBeginImageContext(size);
[img drawInRect:CGRectMake(0, 0, size.width, size.height)];
UIImage* scaledImage =UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return scaledImage;
}
運行效果:
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。