我无法弄清楚为什么会发生这种情况,但是当我在tableview和导航栏后面添加一个imageview时,我的导航栏会很奇怪:
导航栏卡在静止位置,在滚动时不像以前那样移动
从拉到刷新的活动指示器位于导航栏按钮和tableview顶部之间。而不是像以前一样保持在导航栏标题之上。
左图是背景中没有imageview的错误。
右图显示了没有imageview的情况下它是如何工作的。
我的代码获得清晰的导航栏(虽然我不认为这会引入任何问题,因为它在后台的imageview不存在时工作正常):
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.isTranslucent = true self.navigationController?.view.backgroundColor = UIColor.clear
答案 0 :(得分:0)
找到解决方案。
将图像设置为tableview的backgroundview,并将tableview设置为全屏。
let image = UIImage(named: "myphoto")
let iv = UIImageView(image: image)
iv.contentMode = .scaleAspectFill
iv.layer.frame = CGRect(x: 0, y: 0, width: (self.tableView.superview?.frame.size.width)!, height: (self.tableView.superview?.frame.size.height)!)
let tableViewBackgroundView = UIView()
tableViewBackgroundView.addSubview(iv)
self.tableView.backgroundView = tableViewBackgroundView