Ios 将图像设置为backButton
我试图将BackButton设置为图像,而不是标准文本和backArrow,但无论我做什么,它都不会起作用。我尝试过隐藏BackButton并设置leftBarbutton,但是BackButton没有隐藏,我尝试过如下设置BackBarButtonim,但仍然只显示标准BackButton。我做错了什么Ios 将图像设置为backButton,ios,swift,uinavigationcontroller,uinavigationbar,Ios,Swift,Uinavigationcontroller,Uinavigationbar,我试图将BackButton设置为图像,而不是标准文本和backArrow,但无论我做什么,它都不会起作用。我尝试过隐藏BackButton并设置leftBarbutton,但是BackButton没有隐藏,我尝试过如下设置BackBarButtonim,但仍然只显示标准BackButton。我做错了什么 var backButton:UIBarButtonItem = UIBarButtonItem(image: UIImage(named: "left"), style: UIBar
var backButton:UIBarButtonItem = UIBarButtonItem(image: UIImage(named: "left"), style: UIBarButtonItemStyle.Plain, target: self, action: Selector("goBack:"))
self.navigationController?.navigationItem.backBarButtonItem = backButton
现在尝试
var backButton:UIBarButtonItem = UIBarButtonItem(image: UIImage(named: "left"), style: UIBarButtonItemStyle.Plain, target: self, action: Selector("goBack:"))
self.navigationController?.navigationItem.leftBarButtonItem = backButton
您不应该直接使用
self.navigationController?.navigationItem
,而应该使用self.navigationItem
但无论如何,要了解更多背景:
当此导航项位于堆栈顶部项的正下方时,导航控制器将从此导航项派生导航栏的“后退”按钮
(来自苹果公司的backbarbuttonim
)
这意味着,backBarButton
项属性只能更改推到UINavigationController
堆栈上的下一个viewController的后退按钮外观
要达到预期效果,您可以
leftBarButtonItem
(这将自动隐藏后退按钮),并在单击时手动调用self.navigationController.popViewControllerAnimated(true)
UINavigationBar.appearance()
APIUIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];
UIImage *backButtonImage = [UIImage imageNamed:@"MyImage"];
[backButton setImage:backButtonImage forState:UIControlStateNormal];
[backButton setImage:backButtonImage forState:UIControlStateHighlighted];
backButton.frame = CGRectMake(0, 0, 40, 40);
[backButton addTarget:self action:@selector(back:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem* barButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
self.navigationItem.leftBarButtonItem = barButtonItem;
如何设置backButton不可见,因为我已尝试将hideBackButton设置为true,但没有工作更新答案。设置leftBarButtonItem应自动隐藏后退按钮。另外,设置hidesBackButton可能会干扰这一点,因此请尝试仅设置leftBarButton项我已将当前代码添加到viewController中。正在显示viewController,例如,如果出现差异,请按。我认为您不应直接使用
self.navigationController?.navigationItem
,而应使用self.navigationItem
!我很确定他用的是swift而不是objc