滚动到 UITableView 框架之外
Posted
技术标签:
【中文标题】滚动到 UITableView 框架之外【英文标题】:Scroll outside of UITableView frame 【发布时间】:2016-01-18 14:16:48 【问题描述】:如何在UITableView
框架之外滚动整个UITableView
内容?
设置table.scrollIndicatorInsets
不会让向上滚动并且内容消失在顶部的另一个视图后面。
【问题讨论】:
我可能最终会将 UITableView 上方的所有内容放入一个单元格中,并将其作为第一个单元格放入其中。这将允许“真正的” UITableView 内容向上滚动并覆盖所有屏幕。 【参考方案1】:试试这个:
在视图加载完成后,例如在 viewDidAppear:
CGFloat oldContentHeight = tableView.contentSize.height;
tableView.contentSize = CGSizeMake(tableView.contentSize.width, oldContentHeight + tableView.bounds.size.height);
更新了答案。
【讨论】:
设置 tableView.contentSize 不允许它的内容滚动到 tableView 框架边界之外。它只会使内容尺寸变大,仅通过scrollView框架呈现。【参考方案2】:选择表格视图-> 进入属性指示器-> 勾选“剪辑到边界”。 完成
【讨论】:
【参考方案3】:正如@Tushar 指出的那样,在这里设置视图的大小可能是正确的方法,但是如果您有一个非常长的 tableview,则将 contentview 的大小加倍可能有点矫枉过正。我建议改为添加当前窗口的大小。
CGFloat oldContentHeight = tableView.contentSize.height;
CGFloat windowHeight = [[[UIApplication sharedApplication] delegate] window].frame.size.height);
tableView.contentSize = CGSizeMake(tableView.contentSize.width, oldContentHeight + windowHeight);
【讨论】:
以上是关于滚动到 UITableView 框架之外的主要内容,如果未能解决你的问题,请参考以下文章
如何滚动到 UITableView 或 UICollectionView 中的最后一个单元格之外