2012-04-14 53 views
0

我想在導航欄的右側創建三個按鈕。我正在使用Storyboard來創建UIView控制器。 在DetailViewController中嵌入一個導航欄,使用storyboard,然後以編程方式創建三個UIBarButtonItem,然後將這些添加到數組中,然後將其分配給navigationitem.This工作正常。在xcode4.2導航欄中的多個右鍵按鈕

UIBarButtonItem *Button1 = [[UIBarButtonItem alloc]initWithTitle:@"Button1" style:UIBarButtonItemStylePlain 
                  target:self action:@selector(Button1Clicked:)] ; 

UIBarButtonItem *Button2 = [[UIBarButtonItem alloc] initWithTitle:@"Button2" style:UIBarButtonItemStylePlain 
                  target:self action:@selector(Button2Clicked:)] ; 

UIBarButtonItem *Button3 = [[UIBarButtonItem alloc] initWithTitle:@"Button3" style:UIBarButtonItemStylePlain 
                   target:self action:@selector(Button3Clicked::)] ; 

self.navigationItem.rightBarButtonItems = 
[NSArray arrayWithObjects:Button1,Button2,Button3, nil]; 

我有另一個viewcontroller這是一個modalviewcontreoller。我使用故事板創建視圖控制器並添加導航欄而不是導航控制器。然後使用相同的方法將按鈕添加到導航欄,但未顯示任何按鈕。 有人知道如何解決這個問題。

+0

請提供一些信息或代碼,你正好卡住喜 – 2012-04-14 12:37:41

+0

感謝的reply.When點擊一個按鈕,一個新的Vewcontroller顯示我想用三個按鈕在這個視圖 - 控制的rightside一個導航欄上面的代碼不工作這是什麼?缺少什麼? – user1017932 2012-04-14 13:22:58

回答

0

請加UINavigationBar代替UINavigationItem

+0

嗨Aalok你能解釋詳細... – user1017932 2012-04-14 14:22:39

1

如果您的viewController是UINavigationController你可以簡單地使用

self.navigationItem ... 

因爲我看到,工作正常。但是,如果你的viewController(你在這種情況下,模態)是UINavController,你要訪問UINavigationItem這樣:

someNavigationBar.topItem ... 

所以,如果你設置一個IBOutlet到您的導航欄,你的代碼應該看起來像這一個:

UIBarButtonItem *Button1 = ... 
UIBarButtonItem *Button2 = ... 
UIBarButtonItem *Button3 = ... 

yourNavigationBar.topItem.rightBarButtonItems = [NSArray arrayWithObjects:Button1, Button2, Button3, nil];