【问题标题】:Scroll view with a dynamic height in Swift在 Swift 中具有动态高度的滚动视图
【发布时间】:2016-05-29 13:05:22
【问题描述】:

我无法理解如何将我的视图嵌入到具有动态高度的滚动视图中。我之前已经设法创建滚动视图,但仅具有静态高度。例如,Facebook 或 Instagram 等 iPhone 应用程序如何设法为整个动态高度数据提要创建滚动视图。到目前为止,我已经使用故事板来创建滚动视图,但我假设在代码中完成会更好。

class connectDetailsViewController: UIViewController {
    override func viewDidLoad() {
    super.viewDidLoad()
    //set up variables with data
    fillData()
}
override func viewWillAppear(animated: Bool) {
    let nameTitleString = String(businesses[businessNum]["name"]!)
    nameTitle.text = nameTitleString

    processTimes() // Adds information for the hours of operation, if applicable

    processDetails() //Adds information for the details if possible (a few sentences to a few paragraphs)
}

}

processDetails() 和 ProcessTimes() 将编辑堆栈视图中的内容,如何创建滚动视图以在正确的高度包含这两个堆栈视图?

【问题讨论】:

    标签: xcode swift scrollview


    【解决方案1】:

    一般来说,为了提供诸如 Facebook 时间线之类的内容提要,您可能会使用 UITableView,因为它在内部使用它在数据集上的委托方法来管理单元格的重用和整体 contentSize,以确定行数、估计的行高等等。 tableView 实际上使用 scrollView 来实现这一点,但它在内部处理它。

    在我看来,这将是您最好的方法,要在不使用 tableView 的情况下执行此操作,您需要复制它代表您执行的大量逻辑。

    使用scrollView要记住的主要事情是它可以加载比scrollView更大的内容,然后管理滚动/平移/缩放以允许您查看更大的内容。

    如果您只是想知道如何自己执行此操作,您可能需要在滚动视图中添加一个父容器,然后您会不断向其中添加新视图,每次添加新内容时调整滚动视图的 contentSize 高度

    【讨论】:

    • 我同意@Scriptable。强烈建议使用UITableView 来做这样的事情,但是如果您计划显示单元格以外的项目,那么您将需要一个动态改变高度的滚动视图。我在这里回答了一个非常相似的问题,具体流程如下:stackoverflow.com/a/37367119/6361557
    猜你喜欢
    • 2017-12-07
    • 1970-01-01
    • 2016-03-30
    • 2020-01-30
    • 1970-01-01
    • 2017-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多