我正在设置标题和后退按钮的值UINavigationBar
如下:
self.navigationItem.title = @"Post";
[self.navigationController.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName : [[UIColor blueColor] colorWithAlphaComponent:0.75f],
NSFontAttributeName : [UIFont fontWithName:@"HelveticaNeue" size:20]}];
[self.navigationController.navigationBar.backItem setTitle:@"Pop Pop !"];
但我无法将目标添加到后退按钮。我已经尝试过以下方法:
[self.navigationItem.backBarButtonItem setTarget:self];
[self.navigationItem.backBarButtonItem setAction:@selector(goBack:)];
and
self.navigationItem.backBarButtonItem.target = self;
self.navigationItem.backBarButtonItem.action = @selector(goBack:);
但是我的选择器在弹出 viewController 时没有被调用。
如何向 backButton 添加目标,或在弹出 viewController 时调用选择器?
(我已经尝试了SO中提到的所有可能的解决方案,但徒劳)
编辑:我更愿意编辑库存后退按钮的行为,而不是将自定义按钮设置为后退按钮。
您无法将目标添加到库存 BackButton,但您可以重写 CustomNavigationController 中的 UINavigationBarDelegate 方法,如下所示:
class CustomNavigationController: UINavigationController {
@IBOutlet weak var ibNavigationBar: UINavigationBar!
override func viewDidLoad() {
super.viewDidLoad()
ibNavigationBar.delegate = self
}
}
extension CustomNavigationController: UINavigationBarDelegate {
func navigationBar(navigationBar: UINavigationBar, shouldPopItem item: UINavigationItem) -> Bool {
for viewController in viewControllers {
if viewController.title == "YourTitledViewController" {
popToViewController(viewController, animated: true)
}
}
return false
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)