是否可以只滚动 UITableview 的一部分并禁用其他部分?
Is it possible to scroll only one section of a UITableview and disable others?
假设我在 TableView 中有 3 个部分。我只想通过保持默认高度来启用滚动到索引 1 处的部分。这是可以实现的吗?
您可以将两个独立的 UITableViews
组合在一起。
第一个显示您的第一个部分并具有固定的框架高度。在此 UITableView
内,滚动将像往常一样启用和可能。
在 UITableView
下方,只需添加另一个即可。你可以这样做,例如在情节提要中通过将它们彼此约束(第一个的底部等于第二个的顶部)。第二个 UITableView
将显示剩余的两个部分,您可以设置一个标志来禁用滚动,就可以了!
我看到的一个问题是(尤其是在较小的设备上)第二个 UITableView
中可能没有足够的 space 来显示全部内容。一种解决方法是将上部 UITableView
限制为恰好等于 the view's total height
减去 The content size of the second UITableView
的高度。不过,您必须以编程方式执行此操作。
我希望你明白了,如果没有请告诉我,我会尽量提供截图。
-- 编辑--
也许我问错了你的问题。如果你想让 middle 部分可滚动,你可以使用相同的方法,但即使 three UITableViews
或者考虑添加简单的 UIViews
在 UITableView
的上方和下方。然后,您必须将内容从 UITableViewCells
移至这些视图。
我想到的另一个想法是 UITableViewHeaderFooterViews
。您可以将任何 UIView
想要粘在某个部分上方的内容排队为 UITableViewHeaderFooterView
.
如您所见,那里甚至还有很多选择:)
假设我在 TableView 中有 3 个部分。我只想通过保持默认高度来启用滚动到索引 1 处的部分。这是可以实现的吗?
您可以将两个独立的 UITableViews
组合在一起。
第一个显示您的第一个部分并具有固定的框架高度。在此 UITableView
内,滚动将像往常一样启用和可能。
在 UITableView
下方,只需添加另一个即可。你可以这样做,例如在情节提要中通过将它们彼此约束(第一个的底部等于第二个的顶部)。第二个 UITableView
将显示剩余的两个部分,您可以设置一个标志来禁用滚动,就可以了!
我看到的一个问题是(尤其是在较小的设备上)第二个 UITableView
中可能没有足够的 space 来显示全部内容。一种解决方法是将上部 UITableView
限制为恰好等于 the view's total height
减去 The content size of the second UITableView
的高度。不过,您必须以编程方式执行此操作。
我希望你明白了,如果没有请告诉我,我会尽量提供截图。
-- 编辑--
也许我问错了你的问题。如果你想让 middle 部分可滚动,你可以使用相同的方法,但即使 three UITableViews
或者考虑添加简单的 UIViews
在 UITableView
的上方和下方。然后,您必须将内容从 UITableViewCells
移至这些视图。
我想到的另一个想法是 UITableViewHeaderFooterViews
。您可以将任何 UIView
想要粘在某个部分上方的内容排队为 UITableViewHeaderFooterView
.
如您所见,那里甚至还有很多选择:)