2013-06-19 72 views
0

只是試圖從圖像添加一個按鈕導航欄。背後的怪異背景導航欄按鈕項從圖像創建

代碼:

UIBarButtonItem *newConvoButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"convos_new.png"] style:UIBarButtonItemStyleBordered target:self action:@selector(newConvoInit:)]; 
self.navigationItem.rightBarButtonItem = newConvoButton; 

結果:

1 (這應該只是沒有背景的藍色按鈕,暗圖像。)

+3

使用'UIBarButtonItemStylePlain'風格而不是'UIBarButtonItemStyleBordered'。 – danypata

+0

,沒有區別,但謝謝 – mkc842

回答

2

這可能是矯枉過正,你想要的東西。但我有一種很好的感覺,這會讓你的生活變得輕鬆許多。以下內容將給你一個沒有任何UIBarButtonItem屬性的圖像。

UIImage *menuImage = [UIImage imageNamed:@"navBarMenuButton.png"]; 
UIButton *leftButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
leftButton.frame = CGRectMake(0, 0, menuImage.size.width, menuImage.size.height); 
[leftButton setBackgroundImage:menuImage forState:UIControlStateNormal]; 
aController.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:leftButton]; 

此方法實現自定義UIButton,其給出的框架UIImage你正在使用,會給你別的什麼也不添加到您的UINavigationBar您所選擇的圖像。

一個好處是,您不必擔心重新調整大小,以防圖像在未來發生變化,因爲該框架繼承自UIImage

祝你好運!

+0

完美,謝謝 – mkc842