0

このコードと同じくらい簡単です:

-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
// Inizializzazione barra di navigazione
[[self navigationController] setNavigationBarHidden:NO];

UINavigationItem* a = [self navigationItem];
[a setTitle:@"SOME TITLE"];
UIImage *background = [UIImage imageNamed:@"header.png"];
CGSize newSize;
newSize.height=100;
[self.navigationController.navigationBar setBackgroundImage:background 
                                         forBarMetrics:UIBarMetricsDefault];
UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] 
                 initWithTitle:@"Homefgh"                                                                                  
                 style:UIBarButtonItemStyleBordered 
                 target:self action:@selector(home)];

self.navigationController.navigationItem.rightBarButtonItem = rightButton;
}

ただし、ボタンは表示されません (右側)。コードをviewDidLoadにも入れようとしました。viewWillAppear は、メインの UINavigationController の上にプッシュされた UIView 内にあります。奇妙なことに、背景画像が正しく表示されます。

4

4 に答える 4

0

これをコードに追加します

self.navigationItem.rightBarButtonItem = rightButton;

このコードの代わりに

self.navigationController.navigationItem.rightBarButtonItem = rightButton;

と表示されます。

于 2013-07-02T15:52:26.687 に答える
0

self.navigationController.navigationItem.rightBarButtonItem = rightButton;に変更self.navigationItem.rightBarButtonItem = rightButton;

于 2013-07-02T15:49:39.030 に答える
0
- (void)viewDidLoad {
  [super viewDidLoad];

  UIBarButtonItem *anotherButton = [[UIBarButtonItem alloc] initWithTitle:@"Show" style:UIBarButtonItemStylePlain target:self action:@selector(refreshPropertyList:)];          
  self.navigationItem.rightBarButtonItem = anotherButton;
  [anotherButton release];
}

viewWillAppear ではなく、viewDidLoad に入れることを忘れないでください。

于 2013-07-02T15:50:56.910 に答える