繁体   English   中英

如何更改导航栏上的后退按钮的图像?

[英]How to change the image of back button on the navigation bar?

在情节提要中,我通过使用“嵌入”来创建导航栏。

我正在尝试替换后退按钮的原始图像,就像这样

在此处输入图片说明

通过我的后退按钮图像

在此处输入图片说明

这个怎么做?

在控制器的viewDidLoad方法中添加以下代码。

UIImage *leftbuttonImage = [UIImage imageNamed:@"yourimagename"];
        UIButton *leftbutton = [UIButton buttonWithType:UIButtonTypeCustom];
        [leftbutton setImage:leftbuttonImage forState:UIControlStateNormal];
        leftbutton.frame = CGRectMake(0, 0, 35, 35);
        [leftbutton addTarget:self action:@selector(showLeftMenuPressed:) forControlEvents:UIControlEventTouchUpInside];
        UIBarButtonItem *customBarleftItem = [[UIBarButtonItem alloc] initWithCustomView:leftbutton];

        self.navigationItem.leftBarButtonItem = customBarleftItem;
UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom];  
UIImage *backBtnImage = [UIImage imageNamed:@"BackBtn.png"]  ;  
[backBtn setBackgroundImage:backBtnImage forState:UIControlStateNormal];  
[backBtn addTarget:self action:@selector(goback) forControlEvents:UIControlEventTouchUpInside];  
backBtn.frame = CGRectMake(0, 0, 54, 30);  
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithCustomView:backBtn] ;  
self.navigationItem.leftBarButtonItem = backButton;

并声明goback:

- (void)goback
{
    [self.navigationController popViewControllerAnimated:YES];
}
-(void)setUpNAvigationBackBarButton
{

    UIImage* image3 = [UIImage imageNamed:@"icon_back.png"];
    CGRect frameimg = CGRectMake(0, 0, image3.size.width, image3.size.height);
    UIButton *someButton = [[UIButton alloc] initWithFrame:frameimg];
    [someButton setBackgroundImage:image3 forState:UIControlStateNormal];
    [someButton addTarget:self action:@selector(YourMethod which you wanna call on back button
         forControlEvents:UIControlEventTouchUpInside];


    UIBarButtonItem *mailbutton =[[UIBarButtonItem alloc] initWithCustomView:someButton];
    [self.navigationItem setLeftBarButtonItem:mailbutton animated:YES];
}

只需在您的viewdidLoad中调用此函数即可。 我在ma代码中使用了相同的功能。 工作正常..您可以使用它。

迅捷版:-

self.navigationController?.navigationBar.backIndicatorImage = UIImage(named: "HomeLeft@2x")
self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "HomeLeft@2x")
self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: UIBarButtonItemStyle.Plain, target: nil, action: nil)

放到viewDidLoad()上

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM