使用静态单元格推送 UITableViewController 时出现断断续续的动画

Choppy animation while pushing UITableViewController with static cells

提问人:user3314188 提问时间:2/16/2019 更新时间:2/21/2019 访问量:45

问:

我有一个带有静态单元格的 UITableViewController。当我执行推送 segue 时,动画有些断断续续。我已经弄清楚了哪一行代码导致了问题。在UITableViewController的viewWillAppear(_:)方法中,我设置了self.tableview.isHidden = true。如果我删除这行代码,那么它可以正常工作。但是,我需要此行,因为我正在进行网络调用,并且我只想在收到响应后显示表视图。对此问题的任何解决方案将不胜感激。

iOS Swift iPhone UITableView UIDigingController

评论


答:

0赞 Manu 2/21/2019 #1

应从 Storyboard 设置 TableView 的 Hidden 属性。您可以在属性检查器中的“查看>图”下找到此复选框。你可以在这里找到这个的截图。

话虽如此,您应该找到一种更好的方法来指示正在进行 API 调用。我会使用您的视图控制器可以遵循的协议。

protocol ActivityIndicating {
    func showLoading()
    func hideLoading()
}

在你的 ViewController 类中,你会有这样的东西

class ViewController: UIViewController, ActivityIndicating {
    //protocol methods
    func showLoading() {
        //implement logic to hide tableview, show indicator, etc.
    }

    func hideLoading() {
        //implement logic to show tableview, hide indicator, etc.
    }

    func someFunctionThatMakesAPIcalls() {
        showLoading()
        //makeAPICall and call hideLoading() once the api succeeds or fails
    }
}