iOS天气应用程序可以独立于“主”表格单元格滚动“子”表格单元格 - 这是如何完成的?

时间:2012-03-14 10:41:06

标签: iphone objective-c ios uitableview

iOS天气应用程序在表格中显示一周中每一天的预测。如果您点按表格单元格,它会展开以显示包含当天详细预测的“子”单元格。

如何做到这一点在这里被问到:Possible to add rows to UITableView like iOS5 Weather app?(是否还有其他堆栈溢出问题可以提供更好的答案?)

如果您滚动'展开'表,子单元格将独立滚动,直到没有剩余子单元格,然后整个表格再次滚动。

问题:这是怎么做到的?

1 个答案:

答案 0 :(得分:3)

实际上我猜这根本不是一个桌面视图。你有weatherCard作为parentView,让我们说 MainView 。在顶部是当前天气和"表的第一行"作为静态视图。所有其他行都是另一个视图的子项(比如说 DraggingView ),其中有一个UIPanGestureRecognizer。然后,您可以控制拖动 DraggingView

DraggingView 下面有详细的TableView(比如说 DetailView )。这可能是一个真正的tableView,只是因为坚持标题功能。但您也可以使用标准的scrollview轻松完成。

因此,如果您拖动 DraggingView DetailView 将变为可见。如果它再次滚动到0的偏移量, DraggingView 将再次分层。

得到的结构将是:

MainView
* DetailView
* DraggingView

您可能需要一个额外的视图,它会屏蔽 DetailView DraggingView 。您可以使用.clipsToBounds的{​​{1}}属性启用该功能。