- iOS 教程
- iOS 简介
- iOS环境搭建
- Objective-C 简介
- 创建第一款iPhone应用程序
- iOS操作(action)和输出口(Outlet)
- iOS - 委托(Delegates)
- 什么是UI元素?
- IOS加速度传感器(accelerometer)
- IOS通用应用程序
- IOS相机管理
- IOS定位操作
- IOS SQLite数据库
- IOS发送电子邮件
- IOS音频和视频(Audio & Video)
- IOS文件处理
- IOS地图开发
- IOS应用内购买
- IOS iAD整合
- IOS GameKit
- IOS 故事板(Storyboards)
- IOS自动布局
- IOS-Twitter和Facebook
- IOS内存管理
- IOS应用程序调试
IOS导航栏的使用
IOS导航栏的使用
导航栏包含导航控制器的导航的按钮。在导航栏中的标题是当前视图控制器的标题。
示例代码和步骤
1.创视图应用程序
2. 现在,选择应用程序 Delegate.h ,添加导航控制器的属性,如下所示:
#import <UIKit/UIKit.h> @class ViewController; @interface AppDelegate : UIResponder <UIApplicationDelegate> @property (strong, nonatomic) UIWindow *window; @property (strong, nonatomic) ViewController *viewController; @property (strong, nonatomic) UINavigationController *navController; @end
3. 更新应用程序: didFinishLaunchingWithOptions:方法,在AppDelegate.m文件分配的导航控制器,并使其成为窗口的根视图控制器,如下所示:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame: [[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; //Navigation controller init with ViewController as root UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:self.viewController]; self.window.rootViewController = navController; [self.window makeKeyAndVisible]; return YES; }
4.现在,通过选择File -> New ->File... -> Objective C Class 添加新的类文件TempViewController,然后将类命名 TempViewController 与 UIViewController 的子类。
5.在ViewController.h中添加navButon,如下所示
// ViewController.h #import <UIKit/UIKit.h> @interface ViewController : UIViewController { UIButton *navButton; } @end
6.现在添加方法addNavigationBarItem并在viewDidLoad调用方法
7. 为导航项创建方法
8. 我们还需要创建另一种方法到另一视图控制器 TempViewController。
9. 更新后的ViewController.m,如下所示:
// ViewController.m #import "ViewController.h" #import "TempViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; [self addNavigationBarButton]; //Do any additional setup after loading the view, typically from a nib } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } -(IBAction)pushNewView:(id)sender{ TempViewController *tempVC =[[TempViewController alloc] initWithNibName:@"TempViewController" bundle:nil]; [self.navigationController pushViewController:tempVC animated:YES]; } -(IBAction)myButtonClicked:(id)sender{ // toggle hidden state for navButton [navButton setHidden:!nav.hidden]; } -(void)addNavigationBarButton{ UIBarButtonItem *myNavBtn = [[UIBarButtonItem alloc] initWithTitle: @"MyButton" style:UIBarButtonItemStyleBordered target: self action:@selector(myButtonClicked:)]; [self.navigationController.navigationBar setBarStyle:UIBarStyleBlack]; [self.navigationItem setRightBarButtonItem:myNavBtn]; // create a navigation push button that is initially hidden navButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; [navButton setFrame:CGRectMake(60, 50, 200, 40)]; [navButton setTitle:@"Push Navigation" forState:UIControlStateNormal]; [navButton addTarget:self action:@selector(pushNewView:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:navButton]; [navButton setHidden:YES]; } @end
10. 现在当我们运行应用程序时我们就会得到下面的输出
11. 单击 MyButton 导航按钮,切换导航按钮可见性
12. 单击导航按钮,显示另一个视图控制器,如下所示
上一篇:状态栏的使用
下一篇:IOS选项卡栏的使用
扫描二维码
程序员编程王