ios基础篇(十)——UINavgationController的使用(一)UIBarButtonItem的添加

UINavigationController又被成为导航控制器,继承自UIViewController,以栈的方式管理所控制的视图控制器,下面就详细说一下UINavigationController的使用:

1、首先新建一个工程(就不多说了)创建RootViewController(继承自UIViewController)。

2、打开AppDelegate.h文件添加属性

3、打开AppDelegate.m文件的

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法添加navController和根视图(RootViewController)。

 1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
 2     // Override point for customization after application launch.
 3
 4     self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
 5     RootViewController *rootVC = [[RootViewController alloc] init];
 6     rootVC.title = @"RootViewController";
 7
 8     //初始化navController
 9     self.navController = [[UINavigationController alloc] init];
10     //给rootVC添加推入动作
11     [self.navController pushViewController:rootVC animated:YES];
12     //将navController加到window上
13     [self.window addSubview:self.navController.view];
14
15     [self.window makeKeyAndVisible];
16
17     return YES;
18 }

效果图:

4、添加UIBarButtonItem

注:UIBarButtonItem分为leftBarButtonItem和rightBarButtonItem;

 1 #import "RootViewController.h"
 2
 3 @interface RootViewController (){
 4
 5     UIBarButtonItem *leftButton;
 6     UIBarButtonItem *rightButton;
 7
 8 }
 9
10 @end
11
12 @implementation RootViewController
13
14 - (void)viewDidLoad {
15     [super viewDidLoad];
16     // Do any additional setup after loading the view from its nib.
17
18     leftButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(leftButtonAction:)];
19     self.navigationItem.leftBarButtonItem = leftButton;
20
21     rightButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(rightButtonAction:)];
22     self.navigationItem.rightBarButtonItem = rightButton;
23
24
25 }

效果图:

这里还要说一下initWithBarButtonSystemItem:即系统自带按钮风格:

UIBarButtonSystemItemDone:蓝色文字按钮,标有“Done”;

UIBarButtonSystemItemCancel:文字按钮,标有“Cancel”;

UIBarButtonSystemItemEdit:文字按钮,标有“Edit”;

UIBarButtonSystemItemSave:蓝色文字按钮,标有“Save”;

UIBarButtonSystemItemAdd:图像按钮,上面有一个Å符号;

UIBarButtonSystemItemFlexibleSpace:空白,占用空间大小可变;

UIBarButtonSystemItemFixedSpace:空白占位符;

UIBarButtonSystemItemCompose:图像按钮,上有一支笔和纸张;

UIBarButtonSystemItemReply:图像按钮,上有一个回复箭头;

UIBarButtonSystemItemAction:图像按钮,上有一个动作箭头;

UIBarButtonSystemItemOrganize:图像按钮,上有一个文件夹以及向下箭头;

UIBarButtonSystemItemBookmarks:图像按钮,上有书签图标;

UIBarButtonSystemItemSearch:图像按钮,上有spotlight图标;

UIBarButtonSystemItemRefresh:图像按钮,上有一个环形的刷新箭头;

UIBarButtonSystemItemStop:图像按钮,上有一个停止记号X;

UIBarButtonSystemItemCamera:图像按钮,上有一个照相机;

UIBarButtonSystemItemTrash:图像按钮,上有一个垃圾桶;

UIBarButtonSystemItemPlay:图像按钮,上有一个播放图标;

UIBarButtonSystemItemPause:图像按钮,上有一个暂停图标;

UIBarButtonSystemItemRewind:图像按钮,上有一个倒带图标;

UIBarButtonSystemItemFastForward:图像按钮,上有一个快进图标;

5、UIBarButtonItem的事件的实现

 1 - (void)leftButtonAction:(UIBarButtonItem*)leftAction{
 2
 3     UIAlertView *leftAlert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"是否继续编辑" delegate:self cancelButtonTitle:@"是" otherButtonTitles:@"否", nil];
 4     [leftAlert show];
 5 }
 6
 7 - (void)rightButtonAction:(UIBarButtonItem*)rightAction{
 8
 9     UIAlertView *rightAlert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"退出" delegate:self cancelButtonTitle:@"是" otherButtonTitles:@"否", nil];
10     [rightAlert show];
11
12 }

效果图:

时间: 2024-11-05 06:06:38

ios基础篇(十)——UINavgationController的使用(一)UIBarButtonItem的添加的相关文章

ios基础篇(十二)——UINavgationController的使用(三)ToolBar

UIToolBar存在于UINavigationController导航栏控制器中,而且默认被隐藏:设置UINavigationController的toolbarHidden属性可显示UIToolBar. 一.UIToolBar的设置 1.在RootViewController.m的viewDidLoad方法中添加代码: [self.navigationController setToolbarHidden:NO animated:YES]; 如图:显示底部ToolBar 2.设置UITool

ios基础篇(十八)——Delegate 、NSNotification 和 KVO用法及其区别

一.Delegate Delegate本质是一种程序设计模型,iOS中使用Delegate主要用于两个页面之间的数据传递.iphone中常用@protocol和delegate的机制来实现接口的功能.例如想在A的功能要在B中实现,可以在A中定义一个Protocol. protocol用法: @interface ClassA :ClassB<protocol1, protocol2> 1.首先声明一个UIView类: @interface myView  :UIView{  } @end: 2

iOS基础篇(十五)——UIScrollView的基本用法

滚动视图(UIScrollView)通常用于显示内容尺寸大于屏幕尺寸的视图. 一.基本属性 1.CGSize contentSize :设置UIScrollView的滚动范围 2.CGPoint contentOffset :UIScrollView当前滚动的位置 3.UIEdgeInsets contentInset :设置内容的边缘 4.BOOL bounces 当超出边界时表示是否可以反弹 5.BOOL scrollEnabled 是否能滚动 6.BOOL showsHorizontalS

ios基础篇(三十)—— AFNetworking的使用

一.AFNetworking的创建 新建工程,命名为AFNDemo 二.导入AFNetworking.h AFNetworking文件下载:https://github.com/AFNetworking/AFNetworking 在ViewController.m中导入AFNetworking.h #import "ViewController.h" #import "AFNetworking.h" 1.创建一个下载任务(官方网站上给出的例子) NSURLSessi

iOs基础篇(二十二)—— UIPickerView、UIDatePicker控件的使用

一.UIPickerView UIPickerView是一个选择器控件,可以生成单列的选择器,也可生成多列的选择器,而且开发者完全可以自定义选择项的外观,因此用法非常灵活. 1.常用属性 (1)numberOfComponents:获取UIPickerView指定列中包含的列表项的数量. (2)showsSelectionIndicator:控制是否显示UIPickerView中的选中标记(以高亮背景作为选中标记). 2.常见方法 (1)- (NSInteger)numberOfComponen

ios基础篇(十一)——UINavgationController的使用(二)页面切换

上篇说到了添加UIBarButtonItem,接下来说说界面切换: 1.首先我们在刚才的RootViewController中添加一个按钮用来实现跳转: 打开RootViewController.m(我就继续写了),添加一个跳转button: 效果图: 2.button动作实现,新建一个NewViewController继承自UIViewController:用pushViewController到navigationController中去: #import "NewViewControlle

ios基础篇(二十)—— UIBezierPath绘制

UIBezierPath类可以创建基于矢量的路径,可以定义简单的形状,如椭圆或者矩形,或者有多个直线和曲线段组成的形状. 一.UIBezierPath使用: 1.创建path: 2.添加路径到path: 3.将path绘制出来: 1 //创建path 2 path = [UIBezierPath bezierPath]; 3 //添加路径 4 [path moveToPoint:(CGPoint){10,50}]; 5 [path addLineToPoint:(CGPoint){100,50}

ios基础篇(九)——自定义UITabBar

上一篇讲到了UITabBarViewController,接着说说UITabBarViewController中怎么自定义TabBar. 今天仿写了微博,发现底部tabbar中间的button和其他有所不同,button较大且着色:而且我们平时工作中也有很多类似这样的问题,有些app有一个看起来像标准 tabBarController,但是呢,tabBar的中间是凸起的或者着色的.我们怎样做可以构建这种现实效果呢? 如图: 这些标签栏除了中间项以外看起来都相当的标准,所以我们会从一个标准的包含一

iOS基础篇(十三)——UITableView(一)重用机制

UITableView是app开发中常用到的控件,功能很强大,常用于数据的显示.在学习UITableView使用之前,我们先简单了解一下: 1.UITableView的重用机制 UITableView最核心的思想就是UITableViewCell的重用机制,对于一个UITableView而言,可能需要显示成百上千个Cell,如果每个cell都单独创建的话,会消耗很大的内存,为了避免这种情况,重用机制就诞生了. UITableView的重用机制的实现关键在于下面这个的函数:UITableViewC