【问题标题】:Animate show of UITableView HeaderView when button pressed (swift)按下按钮时 UITableView 标题视图的动画显示(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,所以它会在幻灯片动画之前消失,所以看起来很糟糕。

在这方面花费了很长时间,并且已经用尽了我的谷歌搜索技能。

感谢任何指针。

谢谢。

【问题讨论】:

    标签: uitableview animation swift


    【解决方案1】:

    我设法解决了我的问题。

    我没有在 UITableViewController 中为 tableHeaderView 设置动画,而是创建了一个 UIViewController 并将 UITableView 和我的 SlideView 放在 UIViewController 的 UIView 中。

    然后我可以独立于 UITableView 为我的 SlideView 设置动画,在需要时滑动打开和关闭屏幕。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-25
      相关资源
      最近更新 更多