0

ビューベースのアプリケーションを作成しました。ビューと 2 つのボタンにナビゲーション バーを配置しました。ボタンを押した後のナビゲーションバーのタイトルを変更したいです。IB では、ボタンを対応するアクションに接続しました。デバッグは、アクションが呼び出されていることを示していますが、ナビゲーション バーのタイトルは変更されていません。

助けてください!

//
//  NavBarViewController.h

#import <UIKit/UIKit.h>

@interface NavBarViewController : UIViewController {

}

-(IBAction) clickedOne: (id)sender;
-(IBAction) clickedTwo: (id)sender;

@end
//
//  NavBarViewController.m

#import "NavBarViewController.h"

@implementation NavBarViewController

-(IBAction) clickedOne: (id)sender {
    self.navigationItem.title = @"1";
}

-(IBAction) clickedTwo: (id)sender {
    self.navigationItem.title = @"2";
}


- (void)didReceiveMemoryWarning {
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

    // Release any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload {
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}


- (void)dealloc {
    [super dealloc];
}

@end
4

1 に答える 1

1

見つけました。UINavgationItem を使用し、IB の IBOutlet を UINavigationItem に接続しました。

//
//  NavBarViewController.h

#import <UIKit/UIKit.h>

@interface NavBarViewController : UIViewController {
  UINavigationItem *navBar;
}

@property (nonatomic, retain) IBOutlet UINavigationItem *navBar;

-(IBAction) clickedOne: (id)sender;
-(IBAction) clickedTwo: (id)sender;

@end

//
//  NavBarViewController.m

#import "NavBarViewController.h"

@implementation NavBarViewController

@synthesize navBar;

-(IBAction) clickedOne: (id)sender {
    navBar.title = @"1";
}

-(IBAction) clickedTwo: (id)sender {
    navBar.title = @"2";
}


- (void)didReceiveMemoryWarning {
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

    // Release any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload {
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}


- (void)dealloc {
    [super dealloc];
}

@end
于 2012-09-22T15:35:29.367 に答える