按下按钮时 UITableView 标题视图的动画显示(swift)
Posted
技术标签:
【中文标题】按下按钮时 UITableView 标题视图的动画显示(swift)【英文标题】:Animate show of UITableView HeaderView when button pressed (swift) 【发布时间】: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,所以它会在幻灯片动画之前消失,所以看起来很糟糕。
在这方面花费了很长时间,并且已经用尽了我的谷歌搜索技能。
感谢任何指针。
谢谢。
【问题讨论】:
【参考方案1】:我设法解决了我的问题。
我没有在 UITableViewController 中为 tableHeaderView 设置动画,而是创建了一个 UIViewController 并将 UITableView 和我的 SlideView 放在 UIViewController 的 UIView 中。
然后我可以独立于 UITableView 为我的 SlideView 设置动画,在需要时滑动打开和关闭屏幕。
【讨论】:
以上是关于按下按钮时 UITableView 标题视图的动画显示(swift)的主要内容,如果未能解决你的问题,请参考以下文章