隐藏导航栏中的后退button,并使用Swift中的hBackButton
从一个视图切换到另一个视图时,我想隐藏后退button。 我阅读了关于这个问题的问题,每个答案都是“使用hidesBackButton
”。 这个问题是:
-
当我把它放在viewDidLoad / viewWillAppear后退button箭头隐藏,但string“返回”不。
-
当我把它放在viewDidAppear后退button消失,但它对用户可见
我怎样才能解决这个问题?
编辑:
这里是如何复制这个问题(或错误?)
在Xcode中使用Swift创build一个新的Tabbed应用程序。 在FirstViewController.swift中使用performSegueWithIdentifier导航到第二个视图控制器。 在SecondViewController.swift中使用hidesBackButton隐藏导航栏后退button,您将看到问题所在。
尝试添加这个:
let backButton = UIBarButtonItem(title: "", style: UIBarButtonItemStyle.Plain, target: navigationController, action: nil) navigationItem.leftBarButtonItem = backButton
用最新的Swift隐藏后退button:
self.navigationItem.setHidesBackButton(true, animated: false)
您可以使用下面的代码来隐藏UINavigationBar
button。
Swift 3 ;
override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) self.navigationItem.hidesBackButton = true }
override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. self.navigationController?.navigationBarHidden = false var button: UIButton = UIButton() button.setImage(UIImage(named: "person-icon.jpg"), forState: .Normal) button.frame = CGRectMake(0, 0, 25, 25) button.targetForAction("actioncall", withSender: nil) var rightItem:UIBarButtonItem = UIBarButtonItem() rightItem.customView = button self.navigationItem.rightBarButtonItem = rightItem let backButton = UIBarButtonItem(title: "", style: UIBarButtonItemStyle.Plain, target: navigationController, action: nil) navigationItem.leftBarButtonItem = backButton } override func viewWillAppear(animated: Bool) { let backButton = UIBarButtonItem(title: "", style: UIBarButtonItemStyle.Plain, target: navigationController, action: nil) navigationItem.leftBarButtonItem = backButton }
尝试添加这个,这对我有效
navigationItem.hidesBackButton = true
这对我工作:
override func viewWillAppear(animated: Bool) { super.viewWillAppear(animated) self.tabBarController?.navigationItem.hidesBackButton = true }
这对我工作
navigationController?.navigationBar.topItem?.hidesBackButton = true