2013-07-02 45 views
0

像這樣簡單的代碼是:右UIBarButton未示出

-(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中。 奇怪的是背景圖像被正確顯示。

回答

3

你應該能夠做到如此簡單的東西把它展現出來:

UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] 
       initWithTitle:@"Homefgh"                     
       style:UIBarButtonItemStyleBordered 
       target:self action:@selector(home)]; 

self.navigationItem.rightBarButtonItem = rightButton; 
0

變化self.navigationController.navigationItem.rightBarButtonItem = rightButton;self.navigationItem.rightBarButtonItem = rightButton;

0
- (void)viewDidLoad { 
    [super viewDidLoad]; 

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

記得把它在viewDidLoad中,而不是viewWillAppear中。

0

在代碼中添加此

self.navigationItem.rightBarButtonItem = rightButton; 

代替此代碼

self.navigationController.navigationItem.rightBarButtonItem = rightButton; 

的,這將是顯示。