iOS开发之高级视图——UINavigationBar
来源:互联网 发布:php微商城源码下载 编辑:程序博客网 时间:2024/04/29 17:36
UINavigationBar是一个导航条,通常位于屏幕顶端,通常作为多个UINavigationItem的容器,以Stack的形式来管理多个UINavigationItem,每次在导航条上只能看到一个UINavigationItem对象。
ViewController.m
//// ViewController.m// UINavigationBarDemo//// Created by Apple on 16/5/26.// Copyright © 2016年 Apple. All rights reserved.//#import "ViewController.h"@interface ViewController ()@end// 记录当前是添加第几个UINavigationItem的计数器NSInteger count;UINavigationBar *navigationBar;@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; count = 1; // 创建一个导航栏 navigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(10, 20, self.view.frame.size.width-20, 44)]; // 把导航栏添加到视图中 [self.view addSubview:navigationBar]; // 调用push方法添加一个UINavigationItem [self push];}-(void)push{ // 把导航栏集合添加入导航栏中,设置动画打开 [navigationBar pushNavigationItem: [self makeNavItem] animated:YES]; count++;}-(void)pop{ count--; // 弹出最顶层的UINavigationItem [navigationBar popNavigationItemAnimated:YES];}- (UINavigationItem*) makeNavItem{ // 创建一个导航项 UINavigationItem *navigationItem = [[UINavigationItem alloc] initWithTitle:nil]; //设置导航栏内容 navigationItem.title = [NSString stringWithFormat: @"第【%ld】个导航项" , (long)count]; if (count == 2){ // 创建一个右边按钮 UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(pop)]; [navigationItem setRightBarButtonItem:rightButton]; } if (count != 3) { // 创建一个左边按钮 UIBarButtonItem *leftButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(push)]; //把左右两个按钮添加入导航栏集合中 [navigationItem setLeftBarButtonItem:leftButton]; } if (count == 3){ UIBarButtonItem *leftButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(pop)]; [navigationItem setLeftBarButtonItem:leftButton]; } return navigationItem;}@end
效果图如下:
1 0
- iOS开发之高级视图——UINavigationBar
- iOS开发之高级视图—— UITableView常用方法
- iOS开发之高级视图——UISearchBar
- iOS开发之高级视图—— UISearchController
- iOS开发之高级视图—— UITabBarController
- iOS开发之高级视图—— UICollectionView
- iOS开发之高级视图—— UICollectionViewController
- IOS开发之UINavigationBar
- iOS开发之高级视图—— UITableView(五)表视图索引
- iOS开发之高级视图—— UITableView(六)表视图刷新
- iOS开发之高级视图—— UITableView操作——新增
- iOS开发之高级视图—— UITableView操作——删除
- iOS开发之高级视图—— UITableView操作——移动
- iOS开发之高级视图—— UITableView的简化操作——UITableViewController
- iOS开发之高级视图—— UITableView(一)简单例子
- iOS开发之高级视图—— UITableView(二)编辑选中行
- iOS开发之高级视图—— UITableView(三)读取plist文件
- iOS开发之高级视图—— UITableView(四)自定义Cell
- HDU1213 How Many Tables(基础并查集)
- svn中的解决代码冲突方法
- mongoose使用-mongodb安装配置(MacOS)
- Boost 中的智能指针
- ie浏览器版本识别
- iOS开发之高级视图——UINavigationBar
- ZOJ 1409 Communication System
- Amazon SQS(Simple Queue Service) 简介
- Navicat for MySQL激活设置计划任务按钮的方法
- speex
- 内存对齐(struct 或 class)
- <OJ_Sicily>Forest
- iOS开发之多线程了解
- NDCG指标——qjzcy的博客