【发布时间】:2018-04-13 18:03:23
【问题描述】:
我已经在我的 VC 中设置了一个带有自定义标题的表格视图。我还有一个导航栏,我已将其设为透明。我希望 tableview 标题位于屏幕顶部,而不是导航栏下方。我试图将 -navigationBar.height 放在 headerViewFrame 的 CGRect y 原点,但似乎不起作用。
这是一些代码:
func setupTableView() {
let tableView = UITableView()
tableView.frame = view.bounds
tableView.backgroundColor = .blue
view.addSubview(tableView)
tableView.separatorStyle = .none
tableView.tableHeaderView = headerView
}
lazy var headerView: LFHeaderView = {
let headerView = LFHeaderView()
headerView.frame = CGRect(x: 0, y: 0, width: SCREENW, height: 242)
return headerView
}()
谢谢
【问题讨论】:
-
这可能是个骗局:在导航控制器中隐藏导航栏。使按钮等于后退按钮,并带有弹出动作。您将获得与您正在寻找的结果相同的结果。
-
是的,这也是我的想法,但作为一个新的 swift 开发人员,我不知道这样做是否会失去导航控制器提供的功能
-
不,你不会。我在一个应用程序中这样做。设计师完全移除了导航栏,但我仍然需要导航控制器的功能。
-
您对安全区域或超级视图有最高限制?
-
@AdrianBobrowski 您的评论,您是对的。我会用它来兼容 iPhone X。
标签: ios swift uitableview uinavigationcontroller