`
R任轩
  • 浏览: 15892 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

IOS导航栏的使用方法

 
阅读更多

使用纯代码实现一个导航栏的效果。单击按钮并且产生事件。基本思路是:

1.创建一个导航栏(UINavigationBar对象)

2.创建一个导航栏集合(UINavigationItem对象)

3.创建一个左边按钮、一个右边按钮(UIBarButtonItem对象),并实现对应的事件方法

 

具体的实现代码如下:

ViewController.h文件

#import <UIKit/UIKit.h>  
  
@interface ViewController : UIViewController  
  
@end  

ViewController.m文件中的代码:

@interface ViewController ()  
  
@end  
  
@implementation ViewController  
  
- (void)viewDidLoad  
{  
    [super viewDidLoad];  
    // Do any additional setup after loading the view, typically from a nib.  
      
    //创建一个导航栏  
    UINavigationBar *navBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];  
    //创建一个导航栏集合  
    UINavigationItem *navItem = [[UINavigationItem alloc] initWithTitle:nil];  
    //在这个集合Item中添加标题,按钮  
    //style:设置按钮的风格,一共有三种选择  
    //action:@selector:设置按钮的点击事件  
    //创建一个左边按钮  
    UIBarButtonItem *leftButton = [[UIBarButtonItem alloc] initWithTitle:@"左边" style:UIBarButtonItemStyleBordered target:self action:@selector(clickLeftButton)];  
    //创建一个右边按钮  
    UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"右边" style:UIBarButtonItemStyleDone target:self action:@selector(clickRightButton)];  
      
    //设置导航栏的内容  
    [navItem setTitle:@"凌凌漆"];  
      
    //把导航栏集合添加到导航栏中,设置动画关闭  
    [navBar pushNavigationItem:navItem animated:NO];  
      
    //把左右两个按钮添加到导航栏集合中去  
    [navItem setLeftBarButtonItem:leftButton];  
    [navItem setRightBarButtonItem:rightButton];  
      
    //将标题栏中的内容全部添加到主视图当中  
    [self.view addSubview:navBar];  
      
    //最后将控件在内存中释放掉,以避免内存泄露  
    [navItem release];  
    [leftButton release];  
    [rightButton release];  
}  
  
-(void)showDialog:(NSString *)str  
{  
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"这是一个对话框" message:str delegate:self cancelButtonTitle:@"确定" otherButtonTitles: nil];  
    [alert show];  
    [alert release];  
}  
  
-(void) clickLeftButton  
{  
    [self showDialog:@"点击了导航栏左边按钮"];  
}  
  
-(void) clickRightButton  
{  
    [self showDialog:@"点击了导航栏右边按钮"];  
}  
  
- (void)viewDidUnload  
{  
    [super viewDidUnload];  
    // Release any retained subviews of the main view.  
}  
  
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation  
{  
    return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);  
}  
  
@end  

  

分享到:
评论

相关推荐

    ios 导航栏放置多个按钮及引申的ivar变量的问题

    在iOS开发中,导航栏(NavigationBar)是应用界面中常见的一种元素,用于展示当前页面的标题以及提供导航功能。在标题右侧,我们通常会放置一个或者两个“返回”按钮,但有时需求可能会要求在导航栏上放置多个按钮,...

    ios-导航栏渐变.zip

    个人头像可以随手指移动缩放到导航栏。参考了 《仿买单吧APP个人中心导航栏渐变》(http://code.cocoachina.com/view/136112), 下期项目需要,提前造轮子,因为要求布局用masonry,所以自己重新写了代码。 同时代码...

    IOS 自定义导航栏 和表格 学习笔记

    1. 使用`appearance`代理方法统一设置所有导航栏的样式。 2. 在每个ViewController中重写`navigationBar:didPopItem:`方法,根据需要调整导航栏在切换时的状态。 3. 自定义UIBarButtonItem,通过设置图像或者使用...

    iOS 导航栏源代码

    在iOS应用开发中,导航栏(Navigation Bar)是界面设计中的关键组件,它为用户提供了一种在多个屏幕间...通过对源代码的分析和实验,开发者不仅可以掌握导航栏的基本使用,还能进一步提升iOS应用的界面设计和用户体验。

    iOS自定义导航栏

    - 使用`draw(_ rect:)`方法重绘导航栏,通过`CAShapeLayer`或`CGContext`进行绘图,实现背景色、渐变色、边框等效果。 - 通过设置`barTintColor`、`tintColor`、`shadowImage`等属性来改变默认样式。 - 自定义...

    ios-导航条透明处理.zip

    在iOS应用开发中,导航条(Navigation Bar)是UI设计中的关键组件,它为用户提供了一种在层级结构间导航的方式。通常,导航条显示应用程序的标题,并且可以在其中添加按钮来执行不同的操作。在“ios-导航条透明处理....

    iOS导航栏拖动的渐变

    在iOS应用开发中,导航栏(NavigationBar)是用户界面中的重要组成部分,通常位于屏幕顶部,显示当前页面的标题以及返回和其他操作的按钮。在许多应用中,为了提供更丰富的用户体验和视觉效果,开发者会选择实现导航...

    ios导航栏 下拉列表

    标题“ios导航栏 下拉列表”指的是在iOS应用的导航栏右侧的barbuttonitem上实现点击后弹出下拉列表的功能。这个功能通常通过自定义视图或者第三方库来实现。 描述中提到的“ios在导航栏的barbuttonitem 点击 出现...

    仿ios导航栏滚动的例子

    在Android开发中,为了提供与iOS相似的用户体验,开发者经常需要实现类似iOS的导航栏滚动效果。这个例子正是为了实现这样一个功能,适用于企业介绍、新闻浏览等场景,让用户在滚动内容时,导航栏能随之做出相应的...

    iOS如何为导航栏添加播放动画

    这可以通过设置导航栏的自定义视图或使用`UINavigationControllerDelegate`的`navigationBar:appearanceForBarMetrics:`方法来实现。确保在适当的时机调用`start`方法来启动动画,并在不需要动画时调用`stop`方法。 ...

    ios-导航栏渐变效果的小Demo.zip

    在iOS应用开发中,导航栏(NavigationBar)是用户界面中的重要组成部分,用于展示应用程序的层级结构和当前页面的标题。本Demo主要展示了如何实现导航栏颜色随着内容视图(contentView)滑动偏移量的变化而产生渐变...

    iOS导航栏控制的一些总结

    许久不写UI,对UI的很多东西都生疏了,最近使用导航栏的各种场景做一些总结。 1.导航栏的显示与隐藏 导航栏的显示与隐藏,分两种情况: 1.从不显示导航栏的页面push到显示导航栏的页面。 2.从显示导航栏的页面...

    ios侧边导航栏

    在iOS应用开发中,侧边导航栏(Slider Navigation)是一种常见的设计模式,它通常用于提供一个隐藏在主界面一侧的菜单,用户可以滑动或点击按钮来显示或隐藏这个菜单。这种设计使得用户能轻松访问应用程序的主要功能...

    ios-滑动改变导航栏状态.zip

    本项目“ios-滑动改变导航栏状态.zip”主要展示了如何通过用户滑动屏幕来动态改变导航栏的状态,比如在下拉时放大导航栏中的图片,提供更丰富的交互体验。这个功能常见于新闻阅读、社交媒体等类型的App中,增加用户...

    IOS修改导航栏高度demo

    IOS修改导航栏高度demo,项目非常简单简洁,方便大家参考如何正确地修改UINavigationController中的MyNavigationBar高度,博客地址https://blog.csdn.net/u010775335/article/details/86176848

    ios 导航栏上滑隐藏下拉显示

    可以使用`UIView.animate(withDuration:animations:)`方法创建动画效果,使导航栏的隐藏和显示过程更加自然。 5. **处理边界条件**:确保当导航栏完全隐藏或完全显示时,手势不再触发导航栏的变化。这需要正确地...

    ios-导航栏渐变效果与头部视图放大集合.zip

    在iOS开发中,创建引人入胜的用户体验是至关重要的,而导航栏(NavigationBar)的渐变效果和头部视图(Header View)的放大功能正是提升应用视觉效果的有效手段。这个压缩包“ios-导航栏渐变效果与头部视图放大集合....

    ios-导航栏动画效果,仿小猪.zip

    在iOS开发中,导航栏(NavigationBar)是应用界面设计中不可或缺的部分,它为用户提供了一种在不同层级间导航的方式。本示例项目“ios-导航栏动画效果,仿小猪.zip”聚焦于导航栏的动画效果,特别是模仿某种特定的...

    ios-点击导航栏弹窗.zip

    在iOS开发中,导航栏(NavigationBar)是应用界面中常见的一种元素,主要用于展示当前页面的标题以及提供返回、更多等操作。"ios-点击导航栏弹窗.zip"这个压缩包内容可能是一个示例项目,展示了如何在用户点击导航栏...

Global site tag (gtag.js) - Google Analytics