UINavigationBar 【导航条】自己的见解
2015-09-07 10:46
288 查看
UINavigationBar 导航条
导航条通常是位于屏幕的最顶端 UINavigationBar继承了UIView控件,通常是作为多个UINavigationItem的容器。他是以Stack(堆栈)的形式来管理多个UINavigationItem的,
也就是说每次只能看到一个NavItem对象。
用法:
1 创建UINavigationBar对象
2 创建UINavigationItem对象
3 创建NavItem里面的按钮对象 也就是UIBarButtonItem a 系统自带图标 b 自定义图片 c 自定义文字
4 将按钮添加到NavItem里面,然后将这个UINavigationItem压入UINavitationBar栈中( pushNavigationItem: animated:)。
关系图:
代码:
AppDelegate.h
#import "ViewController.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window=[[UIWindowalloc]
initWithFrame:[[UIScreenmainScreen]
bounds]];
self.window.backgroundColor=[UIColorwhiteColor];
ViewController *viewController=[[ViewControlleralloc]
init];
self.window.rootViewController=viewController;
[self.windowmakeKeyAndVisible];
returnYES;
}
ViewController.h
#import "ViewController.h"
@interfaceViewController ()
@end
@implementation ViewController
{
UINavigationBar * _navigationBar;
}
- (void)viewDidLoad
{
[superviewDidLoad];
self.view.backgroundColor=[UIColorwhiteColor];
//导航条通常位于屏幕顶端的控件,它继承了UIView,通常是多个UINavigationItem的容器。
// 1
创建一个导航条 UINavigationBar
_navigationBar=[[UINavigationBaralloc]
initWithFrame:CGRectMake(0,0,
self.view.bounds.size.width,60)];
[self.viewaddSubview:_navigationBar];
// 2
创建一个导航项 UINavigationItem
UINavigationItem * navItem = [[UINavigationItemalloc]
initWithTitle:@"One导航项"];
//创建UIBarButton可根据需要选择适合自己的样式
//创建左边按钮采用系统默认的图标
UIBarButtonItem *leftBtn=[[UIBarButtonItemalloc]
initWithBarButtonSystemItem:UIBarButtonSystemI
4000
temAddtarget:selfaction:nil];
//创建右边按钮采用文字的形式
UIBarButtonItem *rightBtn=[[UIBarButtonItemalloc]
initWithTitle:@"设置"style:UIBarButtonItemStylePlain
target:self
action:nil];
//创建第三个按钮图片的格式
UIBarButtonItem *otherBtn=[[UIBarButtonItemalloc]
initWithImage:[UIImageimageNamed:@"icon.png"]style:UIBarButtonItemStylePlain
target:self
action:nil];
//将按钮添加到navItem里面。
[navItem setLeftBarButtonItem:leftBtn];
[navItem setRightBarButtonItem:rightBtn];
// 3
将一个UINavigationItem压入UINavitationBar栈中。
[_navigationBarpushNavigationItem:navItem
animated:YES];
}
@end
最后效果如图所示:
导航条通常是位于屏幕的最顶端 UINavigationBar继承了UIView控件,通常是作为多个UINavigationItem的容器。他是以Stack(堆栈)的形式来管理多个UINavigationItem的,
也就是说每次只能看到一个NavItem对象。
用法:
1 创建UINavigationBar对象
2 创建UINavigationItem对象
3 创建NavItem里面的按钮对象 也就是UIBarButtonItem a 系统自带图标 b 自定义图片 c 自定义文字
4 将按钮添加到NavItem里面,然后将这个UINavigationItem压入UINavitationBar栈中( pushNavigationItem: animated:)。
关系图:
代码:
AppDelegate.h
#import "ViewController.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window=[[UIWindowalloc]
initWithFrame:[[UIScreenmainScreen]
bounds]];
self.window.backgroundColor=[UIColorwhiteColor];
ViewController *viewController=[[ViewControlleralloc]
init];
self.window.rootViewController=viewController;
[self.windowmakeKeyAndVisible];
returnYES;
}
ViewController.h
#import "ViewController.h"
@interfaceViewController ()
@end
@implementation ViewController
{
UINavigationBar * _navigationBar;
}
- (void)viewDidLoad
{
[superviewDidLoad];
self.view.backgroundColor=[UIColorwhiteColor];
//导航条通常位于屏幕顶端的控件,它继承了UIView,通常是多个UINavigationItem的容器。
// 1
创建一个导航条 UINavigationBar
_navigationBar=[[UINavigationBaralloc]
initWithFrame:CGRectMake(0,0,
self.view.bounds.size.width,60)];
[self.viewaddSubview:_navigationBar];
// 2
创建一个导航项 UINavigationItem
UINavigationItem * navItem = [[UINavigationItemalloc]
initWithTitle:@"One导航项"];
//创建UIBarButton可根据需要选择适合自己的样式
//创建左边按钮采用系统默认的图标
UIBarButtonItem *leftBtn=[[UIBarButtonItemalloc]
initWithBarButtonSystemItem:UIBarButtonSystemI
4000
temAddtarget:selfaction:nil];
//创建右边按钮采用文字的形式
UIBarButtonItem *rightBtn=[[UIBarButtonItemalloc]
initWithTitle:@"设置"style:UIBarButtonItemStylePlain
target:self
action:nil];
//创建第三个按钮图片的格式
UIBarButtonItem *otherBtn=[[UIBarButtonItemalloc]
initWithImage:[UIImageimageNamed:@"icon.png"]style:UIBarButtonItemStylePlain
target:self
action:nil];
//将按钮添加到navItem里面。
[navItem setLeftBarButtonItem:leftBtn];
[navItem setRightBarButtonItem:rightBtn];
// 3
将一个UINavigationItem压入UINavitationBar栈中。
[_navigationBarpushNavigationItem:navItem
animated:YES];
}
@end
最后效果如图所示:
相关文章推荐
- soapui中文操作手册(九)----REST Sample Project
- web_custom_request应用示例
- soapui中文操作手册(八)----Web服务的功能测试案例
- soapui中文操作手册(七)----Web Service Sample Project
- soapui中文操作手册(六)----创建REST Testing
- soapui中文操作手册(五)----入门与安全测试
- 如何获取web_custom_request的返回值
- soapui中文操作手册(四)----MOCK服务
- soapui中文操作手册(三)----使用SoapUI进行负载测试
- web_custom_request
- Volley(二) ImageRequest、Imageloader、NetworkImageView加载图片
- 【UIProgressView进度条控件】
- StringBuffer和StringBuilder
- IOS8下UIView下的TableView从UINavigationController中POP出来后crash
- Tasks Queues and Cron Jobs(任务队列和时钟守护作业)
- SQLChop、SQLWall(Druid)、PHP Syntax Parser Analysis
- soapui中文操作手册(二)----通过您的WSDL请求创建一个测试
- UILabel自适应宽度的函数详解
- Unique Paths II
- php中用require、require_once、include、include_once