`

UINavigationController详解与使用(一)添加UIBarButtonItem

    博客分类:
  • ios
阅读更多
2012.12.28

效果图:
[img]

[/img]

这次添加的导航条及上面的左右按钮,都是再代码中进行添加,并未使用xib文件进行界面设计。

一、新建一个Empty App工程:UINavigationControllerDemo

二、创建一个View Controller,命名为RootViewController:依次选择File——New——New File,默认勾上With XIB for user interface.

三、打开AppDelegate.h,向其中添加属性:
#import <UIKit/UIKit.h>



@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) UINavigationController *navController;

@end


四、在AppDelegate.m 文件的didFinishLaunchingWithOptions方法中创建添加navController,RootViewController视图。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    RootViewController *rootView = [[RootViewController alloc] init];
    rootView.title = @"Root View";
    
    self.navController = [[UINavigationController alloc] init];
    [self.navController pushViewController:rootView animated:YES];
    [self.window addSubview:self.navController.view];
    [self.window makeKeyAndVisible];
    return YES;
}


五、添加UIBarButtonItem

bar ButtonItem分左右UIBarButtonItem。我们把左右的都添加上去。

在RootViewController.m中添加代码如下:
- (void)viewDidLoad
{
    [super viewDidLoad];

    UIBarButtonItem *leftButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(selectLeftAction:)];
    self.navigationItem.leftBarButtonItem = leftButton;
    
    UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd  target:self action:@selector(selectRightAction:)];
    self.navigationItem.rightBarButtonItem = rightButton;


六、响应UIBarButtonItem的事件的实现

我们在 action:@selector(selectLeftAction:);

action添加了selectLeftAction和selectRightAction

在RootViewController.m文件中添加代码实现:
-(void)selectLeftAction:(id)sender
{
    UIAlertView *alter = [[UIAlertView alloc] initWithTitle:@"提示" message:@"你点击了导航栏左按钮" delegate:self  cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
    [alter show];
}

-(void)selectRightAction:(id)sender
{
    UIAlertView *alter = [[UIAlertView alloc] initWithTitle:@"提示" message:@"你点击了导航栏右按钮" delegate:self  cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
    [alter show];
}


这里重点介绍下

UIBarButtonItem *leftButton = [[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemActiontarget:selfaction:@selector(selectLeftAction:)];

UIBarButtonSystemItemAction的风格,这是系统自带的按钮风格,看下图,你不用一个个试验,你也知道想用那个item,如下图:
[img]

[/img]




  • 大小: 103.2 KB
  • 大小: 13 KB
分享到:
评论

相关推荐

    UINavigationController详解与使用(二)页面切换和segmentedController

    当与`UINavigationController`结合使用时,`UISegmentedControl`可以成为页面切换的触发器。例如,每个段可以对应一个不同的视图控制器,用户点击不同的段时,我们可以根据选中的段索引来决定推入哪个视图控制器。 ...

    UINavigationController详解与使用(三)ToolBar

    本篇文章将深入探讨`UINavigationController`的使用方法,特别是与ToolBar的结合。 首先,`UINavigationController`的核心功能是实现页面间的跳转和返回。当用户点击导航栏上的按钮或者执行某些操作时,它可以将新...

    UITabBarController和UINavigationController的整合使用

    UITabBarController和UINavigationController的整合使用DEMO,详情见:http://blog.csdn.net/hwe_xc/article/details/50588500

    UINavigationController使用详解

    每个被添加到`UINavigationController`中的`UIViewController`都有一个`navigationItem`属性。这个属性是用来在父级的导航栏中表示当前的视图控制器。`navigationItem` 可以设置的内容包括: - `leftBarButtonItem...

    UINavigationController demo

    在这个"UINavigationController demo"中,我们将探讨如何简单地使用`UINavigationController`以及如何在其上添加自定义导航按钮,包括图片按钮和switch按钮。 首先,要创建一个`UINavigationController`实例,通常...

    UINavigationController 显示隐藏

    在iOS应用开发中,`UINavigationController`是苹果提供的一个核心组件,它负责管理一系列的`UIViewController`对象,形成一个导航栈。这个栈的顶部视图控制器通常显示在屏幕上,而其他视图控制器则被压入栈中等待...

    UINavigationController与UITabBarController的使用例子

    例如,一个常见的设计模式是将 `UITabBarController` 设置为应用的主视图,每个标签页内再嵌套一个 `UINavigationController`,这样每个标签页都可以拥有自己的独立导航堆栈。这样做可以提供良好的用户体验,因为...

    UINavigationController Demo代码

    本示例代码“UINavigationController Demo”将深入讲解如何在iOS应用中有效地使用`UINavigationController`,以及它与导航栏(`UINavigationBar`)的交互。 首先,`UINavigationController`是`UIViewController`的...

    iOS 使用UINavigationController进行页面间跳转

    在iOS应用开发中,页面间的跳转是用户体验的重要组成部分,而`UINavigationController`是苹果提供的一个强大工具,用于管理屏幕间的导航。这个类提供了一种优雅的方式来组织和控制多个`UIViewController`实例,允许...

    UITabBarController和UINavigationController混用

    在这个名为 "TabBarAndNavigation" 的示例项目中,开发者可能已经创建了一个实际运行的 Demo,展示了如何在 `UITabBarController` 和 `UINavigationController` 结合使用的场景下,根据需求动态隐藏和显示 `tabBar`...

    UINavigationController+UITabBarController框架

    我们写iOS项目的时候,基本都是一个UINavigationController套一个UITabBarController的形式,就是上面一个导航栏,下面几个按钮的工具条的形式。我写了几个应用,发现如果每次都重新写的话完全就是浪费精力和时间,...

    页面跳转 UITabBarController+UINavigationController+UIViewController

    当`UITabBarController`与`UINavigationController`结合使用时,常常会在每个`TabBarItem`下嵌套一个`UINavigationController`,这样每个标签页都可以拥有自己的导航结构。例如,你可以在每个`TabBarItem`下面设置一...

    UINavigationController

    1. **分段控制器(TabBarController)集成**:`UINavigationController`常与`UITabBarController`结合使用,为每个分段提供独立的导航结构。 2. **交互式Pop手势**:默认情况下,`UINavigationController`支持从左侧...

    iOS应用开发中导航栏按钮UIBarButtonItem的添加教程

    通过以上步骤,你已经学会了如何在iOS应用中使用UINavigationController添加UIBarButtonItem,以及如何在不同视图控制器之间进行导航。这只是一个基础教程,实际开发中,你可能需要处理更多复杂的情况,如自定义按钮...

    iphone开发基础控件UINavigationController

    UINavigationController也是一种常用的容器,跟前边学过的tabbar差不多,在这个容器中可以添加多个页面 UINavigationController最重要的属性就是navigationItem,他专门为UINavigationController服务 navigationItem...

    IOS7 UINavigationController滑动Demo

    在iOS开发中,UINavigationController是苹果提供的一种容器类视图控制器,它负责管理一个堆栈式的视图控制器序列。在iOS 7之前,用户通常通过导航栏上的返回按钮或者手势来实现页面间的切换。然而,随着iOS 7的发布...

    iOS如何改变UIBarButtonItem的大小详解

    在iOS开发中,导航栏(UINavigationController)是应用界面中不可或缺的部分,通常包含左右两侧的UIBarButtonItem,用于展示图标或文字按钮。在某些情况下,我们可能需要自定义这些按钮的大小,使其更适合应用的设计...

    UINavigationController返回按钮的事件

    上传的demo关于UINavigationController中back按钮的重写方法, UINavigationController的back按妞本身是没有监听方法的,但是我们通过添加类目可以使back按钮具有监听的作用.让我们能在UINavigationController触发返回...

    UINavigationController极简单的例子

    [[UIBarButtonItem alloc] initWithTitle与[[UIBarButtonItem alloc] initWithBarButtonSystemItem的区别 - http://blog.csdn.net/moon_prince2013/article/details/49068643 Objective-C中的SEL - ...

Global site tag (gtag.js) - Google Analytics