【发布时间】:2014-10-10 10:58:25
【问题描述】:
我创建了一个 UIView“headerView”,它在我的 UITableView 中充当 tableHeaderView。
我想把它隐藏起来,当按下按钮时,它会从导航栏后面滑到屏幕上,同时按下 TableView。
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.resetShowGroups()
}
private func resetShowGroups() {
var topFrame = self.headerView.frame
topFrame.origin.y -= topFrame.size.height
self.headerView.frame = topFrame
self.tableView.tableHeaderView = nil
}
通过将 tableHeaderView 设置为 nil 以在开始时消失。
当按下按钮时,会调用以下方法尝试将 headerView 滑动到屏幕上:
func displayGroupPicker() {
UIView.animateWithDuration(0.5, delay: 0.0, options: .CurveEaseOut, animations: {
if (!self.showGroups) {
self.tableView.tableHeaderView = self.headerView
} else {
self.resetShowGroups()
}
self.showGroups = !self.showGroups
}, completion: { finished in
println("Done")
})
}
此代码已尽我所能接近。它看起来不错,但是因为它在隐藏时设置为 nil,所以它会在幻灯片动画之前消失,所以看起来很糟糕。
在这方面花费了很长时间,并且已经用尽了我的谷歌搜索技能。
感谢任何指针。
谢谢。
【问题讨论】:
标签: uitableview animation swift