2016-03-15 50 views
0

我想改變viewWillAppear UINavigationBar的rightButton形象,爲此我想這一點:如何更改UINavigationBar rightButton圖像?

self.navigationController?.navigationItem.rightBarButtonItem?.image = UIImage(named: "bookmark") 

但它不會改變我的rightButton的形象。我如何解決它並改變我的形象?

+0

@EICaptain但我不想TI刪除,每次加我扣 –

+0

@KumarKL其設置爲前請仔細閱讀我的問題**重複**! –

回答

1

試試這個

var changeImage:UIImage = UIImage(named: "bookmark")! 
changeImage = changeImage.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal) 
var rightButton = UIBarButtonItem(image: changeImage, style: UIBarButtonItemStyle.Bordered, target: self, action: "xxxx") 
self.navigationItem.rightBarButtonItem = rightButton 

選擇-2

UIBarButtonSystemItemBookmarks

var rightButton: UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: .Bookmarks, target: self, action: "xxxx") 
self.navigationItem.rightBarButtonItem = rightButton 

書籤使用默認的一些功能默認UIBarbuttonItems

typedef NS_ENUM(NSInteger, UIBarButtonSystemItem) { 
UIBarButtonSystemItemDone, 
UIBarButtonSystemItemCancel, 
UIBarButtonSystemItemEdit, 
UIBarButtonSystemItemSave, 
UIBarButtonSystemItemAdd, 
UIBarButtonSystemItemFlexibleSpace, 
UIBarButtonSystemItemFixedSpace, 
UIBarButtonSystemItemCompose, 
UIBarButtonSystemItemReply, 
UIBarButtonSystemItemAction, 
UIBarButtonSystemItemOrganize, 
UIBarButtonSystemItemBookmarks, 
UIBarButtonSystemItemSearch, 
UIBarButtonSystemItemRefresh, 
UIBarButtonSystemItemStop, 
UIBarButtonSystemItemCamera, 
UIBarButtonSystemItemTrash, 
UIBarButtonSystemItemPlay, 
UIBarButtonSystemItemPause, 
UIBarButtonSystemItemRewind, 
UIBarButtonSystemItemFastForward, 
UIBarButtonSystemItemUndo NS_ENUM_AVAILABLE_IOS(3_0), 
UIBarButtonSystemItemRedo NS_ENUM_AVAILABLE_IOS(3_0), 
UIBarButtonSystemItemPageCurl NS_ENUM_AVAILABLE_IOS(4_0), 
}; 
+0

我不是快速家庭,嘗試一次 –

0

self.navigationController .navigationItem.rightBarButtonItem =圖像配的UIBarButtonItem?(圖像://映像名稱,風格:UIBarButtonItemStyle.Plain,目標:自我,動作://動作名稱)

0

試試這個,我新來這就是爲什麼我一直在Objective C.做到了這一點代碼迅速

UIButton *btnRight = [UIButton buttonWithType:UIButtonTypeCustom]; 


[btnRight setFrame : CGRectMake(0, 0, 60, 35)]; 

[btnRight setImage:[UIImage imageNamed:@"prefferedImage"] forState:UIControlStateNormal]; 
[btnRight addTarget:self action:@selector(defindeActionMethod:) forControlEvents:UIControlEventTouchUpInside]; 

[btnRight setContentHorizontalAlignment:UIControlContentHorizontalAlignmentRight]; 

btnRight.imageView.contentMode = UIViewContentModeScaleAspectFit; 
btnRight.contentHorizontalAlignment = UIControlContentHorizontalAlignmentRight; 
btnRight.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; 

UIBarButtonItem *rightBarButton = [[UIBarButtonItem alloc] initWithCustomView:btnRight]; 
[rightBarButton setTintColor:[UIColor whiteColor]]; 
self.navigationItem.rightBarButtonItem = rightBarButton;