无法在tableviewcontroller上获得半透明导航栏。适用于视图控制器和tableview

时间:2016-03-19 02:33:32

标签: ios swift uitableview uinavigationbar translucency

我想要通过导航栏和标签栏显示渐变背景。我将它们设置为“半透明黑色”。如果我创建一个ViewController并在其上放置一个TableView,这非常有效。但是,我无法使用TableViewController正常工作。标签栏工作正常,但导航栏最终变黑。如果我关闭“调整滚动视图插图”,则导航栏会按照我想要的方式显示,但第一个表视图行的上半部分会被切断(请参阅示例)。渐变位于背景视图上。 tableview的背景颜色很清晰。

有没有办法在TableViewController上获得相同的效果?我是否需要以某种方式使tableview的标题或第一行成为导航栏下的背景?

添加了TableView的ViewController: enter image description here

带有“调整滚动视图插入”的TableViewController: enter image description here

具有“调整滚动视图插入”的TableViewController OFF: enter image description here

2 个答案:

答案 0 :(得分:1)

进行测试后,我认为您需要:

  1. 调整滚动视图插播ON
  2. 延伸边缘 - 在顶栏下ON
  3. 没有。 1允许UITableView覆盖整个屏幕(包括导航栏下方),而#2会在UITableView内容的顶部添加一个空格,以便内容不会隐藏在导航栏下方。

答案 1 :(得分:0)

我遇到了类似的问题,试图在带有清晰导航栏的静态表格视图控制器上设置全屏背景。我通过在tableView上使用backgroundView而不是设置backgroundColor来解决它。例如:

myTableView.backgroundView = UIImageView(image: UIImage(named: "backgroundImg.png")) 

我将导航栏设置为清除,但是您可以根据自己的喜好设置样式:

navigationController?.navigationBar.backgroundColor = UIColor.clear

我还必须设置“延伸边缘-顶栏下方ON