iOS天气应用程序在表格中显示一周中每一天的预测。如果您点按表格单元格,它会展开以显示包含当天详细预测的“子”单元格。
如何做到这一点在这里被问到:Possible to add rows to UITableView like iOS5 Weather app?(是否还有其他堆栈溢出问题可以提供更好的答案?)
如果您滚动'展开'表,子单元格将独立滚动,直到没有剩余子单元格,然后整个表格再次滚动。
问题:这是怎么做到的?
答案 0 :(得分:3)
实际上我猜这根本不是一个桌面视图。你有weatherCard作为parentView,让我们说 MainView 。在顶部是当前天气和"表的第一行"作为静态视图。所有其他行都是另一个视图的子项(比如说 DraggingView ),其中有一个UIPanGestureRecognizer
。然后,您可以控制拖动 DraggingView 。
在 DraggingView 下面有详细的TableView(比如说 DetailView )。这可能是一个真正的tableView,只是因为坚持标题功能。但您也可以使用标准的scrollview轻松完成。
因此,如果您拖动 DraggingView , DetailView 将变为可见。如果它再次滚动到0的偏移量, DraggingView 将再次分层。
得到的结构将是:
MainView
* DetailView
* DraggingView
您可能需要一个额外的视图,它会屏蔽 DetailView 和 DraggingView 。您可以使用.clipsToBounds
的{{1}}属性启用该功能。