Ios 如何更改导航栏上“后退”按钮的图像?
在故事板中,我使用“嵌入”创建了一个导航栏 我试图替换“后退”按钮的原始图像,如下所示 通过我的后退按钮图像,这是Ios 如何更改导航栏上“后退”按钮的图像?,ios,user-interface,uinavigationbar,Ios,User Interface,Uinavigationbar,在故事板中,我使用“嵌入”创建了一个导航栏 我试图替换“后退”按钮的原始图像,如下所示 通过我的后退按钮图像,这是 如何执行此操作?在控制器视图加载方法中添加以下代码 UIImage *leftbuttonImage = [UIImage imageNamed:@"yourimagename"]; UIButton *leftbutton = [UIButton buttonWithType:UIButtonTypeCustom]; [leftbutton s
如何执行此操作?在控制器视图加载方法中添加以下代码
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;
并宣布戈巴克:
- (void)goback
{
[self.navigationController popViewControllerAnimated:YES];
}
只需在viewdidLoad中调用此函数。
我在ma代码中使用了相同的函数。工作很好。。您可以使用它。Swift版本:-
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()嗨,谢谢你的回复。在“[leftbutton addTarget:self action:@selector(showLeftMenuPressed:)forControlEvents:UIControlEventTouchUpInside];”行中,xcode表示未声明showLeftMenuPressed。我怎样才能摆脱它呢?很抱歉没提那件事。。将showLeftMenuPressed:method替换为要在单击“后退”按钮时调用的方法。请注意,如果替换“后退”按钮,则在iOS 7中返回的滑动手势将停止工作。以下是一些解决方案:
-(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];
}
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)