2016-03-15 104 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;