您的位置:首页 > 产品设计 > UI/UE

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

最后效果如图所示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: