小兔网

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. 现在当我们运行应用程序时我们就会得到下面的输出

iOS Tutorial

11. 单击 MyButton 导航按钮,切换导航按钮可见性

12. 单击导航按钮,显示另一个视图控制器,如下所示

iOS Tutorial