我有一个UITiew,右下方有一个UITableView。 tableview有一个自定义标题,它包含一个UISearchbar和一个UISegmententedController。顶视图和tableview相互约束并与superview相关。如果我隐藏顶视图,则tableview的标题会被拉伸。
顶视图可见:
隐藏顶视图(高度约束设置为0):
我的期望是,当我隐藏顶视图时,我的tableview内容应该向上滚动,但是tableview不是重新定位单元格,而是拉伸标题视图。
感谢您的帮助!
答案 0 :(得分:0)
我不确定为什么,但是如果自定义的tableView标头是从xib创建的,那么它就会搞砸了。但是,如果以编程方式创建视图,则可以正常工作我不知道为什么,但要解决以编程方式创建tableview标头所需的问题
坏:
if let headerView = Bundle.main.loadNibNamed("HeaderView", owner: self, options: nil)?[0] as? HeaderView {
tableview.tableHeaderView = headerView
}
好:
tableview.tableHeaderView = UIView(frame: CGRect(x: 0, y: 0, width: 50, height: 80))
答案 1 :(得分:0)
如果要使tableView向上滚动,我建议获取顶视图的高度约束并将其减小为0.您可以更新UIView.animate
块中的高度约束以获得更平滑的过渡显示和隐藏顶视图。
请参阅此处了解详情:AutoLayout with hidden UIViews?