我已经在编程上像我这样在导航栏上设置了一个图像...
let myView = UIView(frame: CGRect(x: 315, y: 12, width: 20,height: 20))
myView.backgroundColor = UIColor.clear
let img = "homeIcon"
let image = UIImage(named: img)
let imageView = UIImageView(image: image!)
imageView.frame = CGRect(x:1, y: -1, width:20, height: 20)
myView.addSubview(imageView)
self.navigationController?.navigationBar.addSubview(myView)
我在这里做的是创建视图,向视图添加图像,然后将视图添加到导航栏。但问题是,当我点击该行并使用segue从该屏幕导航到另一个屏幕时,下一个屏幕的导航栏也会显示我在上一个屏幕上设置的图标。但我不希望这种情况发生。下一个屏幕不应显示导航栏上的图标。那应该怎么办?
答案 0 :(得分:0)
在您呈现的视图控制器中尝试此操作:
override func viewWillAppear(_ animated: Bool) {
for view in (self.navigationController?.navigationBar.subviews)! {
if view.tag == 1 {
view.removeFromSuperview()
}
}
}
并在viewWillAppear
中添加用于在初始控制器中设置导航栏图像的代码,确保将包含图像视图的视图的标记设置为1.
我希望它有所帮助。