【问题标题】:Tableview animation left to right with segment controlTableview 动画从左到右,带段控制
【发布时间】:2018-04-02 02:02:12
【问题描述】:

我有一个带有 1 个部分的 UITableview,并且在该 tableview 的标题中有一个段控件。在我更改表格视图标题中的段后,我希望表格视图向左移动,另一个表格视图与从右侧进入的段控件的选定索引中的信息相关的新数据。这应该是动画。我已经尝试了这 4 件事,但它们都有自己的问题。最大的两个问题是我不想为节标题设置动画,并且数据集不同。部分标题应始终保持不变,因此 reloadSections 不起作用。 reloadRows 有我正在寻找的完美动画,但它不起作用,因为两组数据的行数不同。所以它在使用时会崩溃。

解决方案需要在表中没有数据的情况下工作,并且在获取数据后第一次重新加载。或者它重新加载到表中没有行并显示一个空状态屏幕。

//1
UIView.animate(withDuration0.7, delay: 0.0, options: .curveEaseOut, animations: {
    self.mainTableView.reloadData()
}, completion: {})

//2
self.mainTableView.reloadSections(IndexSet(integer: 0), with: .right)

//3
self.mainTableView.reloadRows(at: [indexpaths], with: .right)

//4
self.mainTableView.beginUpdates()
self.mainTableView.insertRows(at: [indexpaths], with: .right)
self.mainTableView.deleteRows(at: [indexpaths], with: .right)
self.mainTableView.endUpdates()

【问题讨论】:

    标签: ios swift uitableview


    【解决方案1】:

    你为什么不直接改变同一个tableView中的数据源,把segment作为一个view放在tableView而不是header上。

    【讨论】:

    • 所以我在导航栏上使用了大标题,所以如果我把标题放在顶部,事情就会变得一团糟。即使我更改了数据源,上面列出的东西也不起作用。
    猜你喜欢
    • 1970-01-01
    • 2016-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多