我想把我的桌面视图的标题高度设置为0。我正在使用的当前代码是:
var newRect = headerView.frame
newRect.size.height = 0
UIView.animateWithDuration(0.6) {
self.headerView.frame = newRect
}
headerView
是一个自定义UIView,使用方式如下:
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
return headerView
}
当我运行代码时,它似乎将headerView
的高度设置为其大小的一半,而不是0.任何想法我可能在这里做错了什么?任何指针都会很棒。
答案 0 :(得分:1)
您只需使用heightForHeaderInSection
和UITableView
重新加载系统即可。贝娄,有一个如何做的例子。这是一个虚拟的例子(当使用按下单元格时,它会显示节标题(dis)。
var displayExpandedHeader = true
let expandedHeight = CGFloat(50)
let colapsedHeight = CGFloat(0)
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
return headerView
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
tableView.beginUpdates()
displayExpandedHeader = !displayExpandedHeader
tableView.reloadSections(NSIndexSet(index: indexPath.section), withRowAnimation: (!displayExpandedHeader) ? .Top : .Bottom)
tableView.endUpdates()
}
func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return (displayExpandedHeader) ? expandedHeight : colapsedHeight
}