Ios 在运行时更改UITableViewHeaderFooterView高度
我的目标是在运行时更改UITableView节标题高度。让我更具体一点。默认高度为44,但在触摸顶部之前滚动时,高度将为64。我已经创建了一个子类Ios 在运行时更改UITableViewHeaderFooterView高度,ios,swift,uitableview,uitableviewsectionheader,Ios,Swift,Uitableview,Uitableviewsectionheader,我的目标是在运行时更改UITableView节标题高度。让我更具体一点。默认高度为44,但在触摸顶部之前滚动时,高度将为64。我已经创建了一个子类UITableViewHeaderFooterView,它使用自动布局 我试过了 var frame = sectionHeader.frame frame.size.height = 64 sectionHeader.frame = frame 而且 tableView.sectionHeaderHeight = 64 但对我来说什么都不管用。谁
UITableViewHeaderFooterView
,它使用自动布局
我试过了
var frame = sectionHeader.frame
frame.size.height = 64
sectionHeader.frame = frame
而且
tableView.sectionHeaderHeight = 64
但对我来说什么都不管用。谁能解释一下这个问题吗
您不需要对页脚进行子类化来更改页脚的高度
只更改高度而不重新加载tableView。我认为您必须重新加载table view的整个部分,因为没有只更新部分标题的公共API
self.isOnTop = true // or false
tableView.reloadSections(NSIndexSet(index: 0), withRowAnimation: .None)
并更改修改适当委托方法返回值的属性:
func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
isOnTop ? 44 : 64
}
您还可以尝试以下方法,这些方法可以在不重新加载的情况下更新布局:
tableView.beginUpdates()
tableView.endUpdates()
或者转到支持tableview行为的集合视图解决方案:@downvoter您能回答我的问题吗?也许苹果的示例代码可以帮助您:@muazhud谢谢。。让我仔细看看。谢谢,但是如果我重新加载该部分,那么我想要的动画将不会无缝。