ios - 使用 insets 向 UITableView 添加 View ,有什么问题吗?

标签 ios swift uitableview uiscrollview uicollectionview

我在 UITableView 的底部添加了一个 View (或 UICollextionView )但不是作为单元格或页脚,而只是将其添加到表格 View 本身(因此,添加到 UIScrollView ),然后使用 contentInset的卷轴。这样做的目的是将 View 保持在表格内容的底部,而不是在内容的末尾。这样,如果内容短于表格的边界,则 View 可见(左图),但如果内容较高,则 View 显示在内容的末尾(右图)。

footer

这是代码的摘录:

let yCoord = collectionView.contentSize.height >= view.frame.height - viewHeight
    ? collectionView.contentSize.height
    : view.frame.height - viewHeight

let bottomView = UIView(frame: CGRect(x: 0, y: yCoord, width: collectionView.contentSize.width, height: viewHeight))

collectionView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: viewHeight, right: 0)
collectionView.addSubview(bottomView)

我想知道这种方法是否可以以任何方式被认为是有害的,例如,AL、旋转、重新加载表的问题......我没有发现任何问题,实际上这是一种非常类似于拉动的方法- iOS 6 之前的 to-refresh 功能,但我宁愿在将其投入生产之前确定它。

如果这可以被认为是一个问题,除了添加一个新单元格之外,您还提出了哪种解决方案?

最佳答案

如果您想要上述功能,您必须在 scrollView 中获取 tableView 和底部 View ,并使用内容观察器根据内容为 tableView 提供动态高度,并将底部 View 保持在 ScrollView 的底部,并将 tableView 作为从上到下的 View 并给出大于或与归属相同。

希望它会奏效。

关于ios - 使用 insets 向 UITableView 添加 View ,有什么问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54303801/

相关文章:

ios - UIModalPresentationStyle.CurrentContext Swift iOS 7

android - 停止基于 Cordova 的应用程序在更新时清除缓存/临时文件

swift - 为什么这段 Swift 代码会泄漏内存,我该如何处理?

iphone - 通过 cell.contentView 添加 UIView 到 UITableViewCell

iOS - 如何在 PDF 文档顶部添加文本?

Swift 选项需要 nil 吗?无法使用中断?

Swift:获取 'Specific Date' 之前 30 天的信息

ios - 选择表格 View 单元格中的文本并返回到上一个 View

ios - 是否有从 firebase 实时数据库中获取 n 个元素的功能?

ios - FaSTLane crashlytics_path 来自 Carthage