IOS 入门开发之创建标题栏UINavigationBar的使用

转自:http://xys289187120.blog.51cto.com/3361352/685746

IOS 入门开发之创建标题栏UINavigationBar的使用

 

 

    IOS 开发有关界面的东西不仅可以使用代码来编写,也可以使用Interface Builder可视化工具来编写。今天有个朋友问我这两个有什么区别,首先说 说IB ,使用它编辑出来的控件其实底层还是调用代码只是苹果封装出来让开发者更好使用而已。它的优点是方便、快捷最重要的是安全,因为控件的释放它会帮我们完成 不用手动释放。缺点是多人开发不好维护,就好比谁写的IB谁能看懂,别人看的话就比较费劲,不利于代码的维护。两种方式各有利弊,不过我个人还是比较喜欢 纯代码,因为任何程序语言,或者任何脚本语言,代码和可视化工具比起来永远是最底层的。





利用代码在屏幕中添加一个标题栏,并且在标题栏左右两方在添加两个按钮,点击后响应这两个按钮。
这里设置标题栏的显示范围。

 

  1. //创建一个导航栏 
  2. UINavigationBar *navigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];  


  有了标题栏后,须要在标题栏上添加一个集合Item用来放置 标题内容,按钮等。

 

  1. //创建一个导航栏集合 
  2. UINavigationItem *navigationItem = [[UINavigationItem alloc] initWithTitle:nil];  

 

在这个集合Item中添加标题,按钮。

style:设置按钮的风格,一共有3中选择。
action:@selector:设置按钮点击事件。

  1. //创建一个左边按钮 
  2.   UIBarButtonItem *leftButton = [[UIBarButtonItem alloc] initWithTitle:@"左边"    
  3.                                                             style:UIBarButtonItemStyleBordered    
  4.                                                             target:self    
  5.                                                             action:@selector(clickLeftButton)];   
  6.  
  7.   //创建一个右边按钮 
  8.   UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"右边"    
  9.                                                                 style:UIBarButtonItemStyleDone    
  10.                                                                 target:self    
  11.                                                                 action:@selector(clickRightButton)];   
  12.   //设置导航栏内容 
  13.   [navigationItem setTitle:@"雨松MOMO程序世界"]; 



将标题栏中的内容全部添加到主视图当中。

 

  1. //把导航栏添加到视图中 
  2. [self.view addSubview:navigationBar];   



最后将控件在内存中释放掉,避免内存泄漏。

 

 

  1. //释放对象 
  2. [navigationItem release];   
  3. [leftButton release];   
  4. [rightButton release]; 





如图所示:添加这两个按钮的点击响应事件。

 

  1. -(void)clickLeftButton 
  2.      
  3.     [self showDialog:@"点击了导航栏左边按钮"]; 
  4.    
  5.  
  6.  
  7. -(void)clickRightButton 
  8.      
  9.     [self showDialog:@"点击了导航栏右边按钮"]; 
  10.      

 

 




点击后打开一个Dialog对话框,根据点击不同的按钮传入不同的显示内容。
 

  1. -(void)showDialog:(NSString *) str 
  2.     
  3.     UIAlertView * alert= [[UIAlertView alloc] initWithTitle:@"这是一个对话框" message:str delegate:self cancelButtonTitle:@"确定" otherButtonTitles: nil];     
  4.     
  5.     [alert show];       
  6.     [alert release]; 




最后贴上完整的代码

  1. #import "TitleViewController.h" 
  2.  
  3. @implementation TitleViewController 
  4.  
  5. - (void)didReceiveMemoryWarning 
  6.     // Releases the view if it doesn't have a superview. 
  7.     [super didReceiveMemoryWarning]; 
  8.      
  9.     // Release any cached data, images, etc that aren't in use. 
  10.  
  11. #pragma mark - View lifecycle 
  12.  
  13.  
  14. // Implement viewDidLoad to do additional setup after loading the view, typically from a nib. 
  15. - (void)viewDidLoad 
  16.     [super viewDidLoad]; 
  17.  
  18.  
  19.     //创建一个导航栏 
  20.     UINavigationBar *navigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];   
  21.      
  22.     //创建一个导航栏集合 
  23.     UINavigationItem *navigationItem = [[UINavigationItem alloc] initWithTitle:nil];   
  24.      
  25.     //创建一个左边按钮 
  26.     UIBarButtonItem *leftButton = [[UIBarButtonItem alloc] initWithTitle:@"左边"    
  27.                                                               style:UIBarButtonItemStyleBordered    
  28.                                                               target:self    
  29.                                                               action:@selector(clickLeftButton)];   
  30.  
  31.     //创建一个右边按钮 
  32.     UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"右边"    
  33.                                                                   style:UIBarButtonItemStyleDone    
  34.                                                                   target:self    
  35.                                                                   action:@selector(clickRightButton)];   
  36.     //设置导航栏内容 
  37.     [navigationItem setTitle:@"雨松MOMO程序世界"]; 
  38.      
  39.      
  40.     //把导航栏集合添加入导航栏中,设置动画关闭 
  41.     [navigationBar pushNavigationItem:navigationItem animated:NO];  
  42.      
  43.     //把左右两个按钮添加入导航栏集合中 
  44.     [navigationItem setLeftBarButtonItem:leftButton];  
  45.     [navigationItem setRightBarButtonItem:rightButton]; 
  46.       
  47.     //把导航栏添加到视图中 
  48.     [self.view addSubview:navigationBar];   
  49.      
  50.      
  51.     //释放对象 
  52.     [navigationItem release];   
  53.     [leftButton release];   
  54.     [rightButton release]; 
  55.  
  56.  
  57.  
  58. -(void)clickLeftButton 
  59.      
  60.     [self showDialog:@"点击了导航栏左边按钮"]; 
  61.    
  62.  
  63.  
  64. -(void)clickRightButton 
  65.      
  66.     [self showDialog:@"点击了导航栏右边按钮"]; 
  67.      
  68.  
  69.  
  70. -(void)showDialog:(NSString *) str 
  71.     
  72.     UIAlertView * alert= [[UIAlertView alloc] initWithTitle:@"这是一个对话框" message:str delegate:self cancelButtonTitle:@"确定" otherButtonTitles: nil];     
  73.     
  74.     [alert show];       
  75.     [alert release]; 
  76.  
  77. - (void)viewDidUnload 
  78.     [super viewDidUnload]; 
  79.     // Release any retained subviews of the main view. 
  80.     // e.g. self.myOutlet = nil; 
  81.  
  82. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
  83.     // Return YES for supported orientations 
  84.     return (interfaceOrientation == UIInterfaceOrientationPortrait); 
  85.  
  86. @end 


 

最后如果你还是觉得我写的不够详细 看的不够爽 不要紧我把源代码的下载地址贴出来 欢迎大家一起讨论学习雨松MOMO希望可以和大家一起进步。
 
 
下载地址:http://down.51cto.com/data/263731

本文出自 “雨松MOMO的程序世界” 博客,请务必保留此出处http://xys289187120.blog.51cto.com/3361352/685746

转载于:https://www.cnblogs.com/wangpei/p/4048400.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iOS 导航条是 iOS 应用程序中常用的一种导航控件,通常用于在不同的视图控制器之间进行导航。下面举例说明: 1. 在 iOS 开发中,可以通过代码或者 storyboard 对导航条进行配置和使用。 2. 在 storyboard 中,可以通过拖拽导航控制器和视图控制器之间的关系,来创建导航条。 3. 通过代码创建导航条的示例代码: ``` // 创建导航条 UINavigationBar *navigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 44)]; // 创建导航项 UINavigationItem *navigationItem = [[UINavigationItem alloc] initWithTitle:@"Title"]; // 添加导航项 [navigationBar pushNavigationItem:navigationItem animated:NO]; // 添加导航条到视图中 [self.view addSubview:navigationBar]; ``` 4. 通过代码设置导航条的标题和按钮: ``` // 设置导航条标题 navigationItem.title = @"Title"; // 创建导航条左侧按钮 UIBarButtonItem *leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:self action:@selector(backAction)]; // 设置导航条左侧按钮 navigationItem.leftBarButtonItem = leftBarButtonItem; // 创建导航条右侧按钮 UIBarButtonItem *rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Next" style:UIBarButtonItemStylePlain target:self action:@selector(nextAction)]; // 设置导航条右侧按钮 navigationItem.rightBarButtonItem = rightBarButtonItem; ``` 这些代码可以帮助你快速创建使用 iOS 导航条。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值