【问题标题】:Swift: Instagram Stories And Feed Cells Style斯威夫特:Instagram 故事和饲料细胞风格
【发布时间】:2017-10-10 15:25:58
【问题描述】:

我正在尝试使用已完成的类别/故事栏实现 Letgo 或类似 Instagram 的样式提要。但是当我滚动浏览帖子时,它只会在单元格内滚动,而不是作为一个整体视图。因此,故事栏一直停留在那里,直到我到达集合视图的末尾,然后故事栏滚动但又向下滚动,因为单元格的行为就像没有足够的单元格一样。

这就是我已经实现的单元格。

override func viewDidLoad() {
    super.viewDidLoad()

    self.automaticallyAdjustsScrollViewInsets = false
    self.tableView.dataSource = self
    self.tableView.delegate = self
}

// MARK: - UITableViewDatasourse

func numberOfSections(in tableView: UITableView) -> Int {
    return 1
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 2
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    switch indexPath.row {
    case 0:
        return tableView.dequeueReusableCell(withIdentifier: "categoryCell", for: indexPath) as! CategoryTableViewCell
    default:
        return tableView.dequeueReusableCell(withIdentifier: "productCell", for: indexPath) as! ProductTableViewCell
    }
}

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    switch indexPath.row {
    case 0:
        return 110
    default:
        return tableView.frame.height - 110
    }
}

我将类别栏的高度设置为 110,框架的其余部分用于提要。一切都在常规视图控制器中。如果有更好的方法来解决这个问题,我还可以点击栏与提要进行交互,我愿意重新编程所有内容。

结构: 视图控制器

-表格视图

—CategoriesCell(高度 110)

——CollectionView(hor)

——PostsCell(如何根据CollectionView内容使这个动态化)

——CollectionView(版本)

【问题讨论】:

  • 如果你想要 Instagram 风格,为什么不使用IGListKit
  • @Paulw11 不,我加载了两种不同的类型,一切都不是问题。问题是,当它全部加载并且帖子加载并且我想滚动帖子时,它只会在单元格内部滚动,所以如果我将单元格高度设为 200 或 2000,它不会作为一个整体滚动.就像当您滚动故事栏时仍然存在一样。当我向上滚动故事栏时,您可以看到帖子单元格的结尾。这不是一个一致的滚动,而是两个单独的滚动。

标签: ios swift uitableview uicollectionview


【解决方案1】:

它不会滚动,因为只有 2 个单元格,如果有更多的单元格,表格视图可以滚动,这不是这种情况。

您将需要更改方法,因为您将无法在单元格中添加单元格,您必须在此执行此操作。例如,对于类别的第 0 个索引单元格,您必须添加单元格以显示 insta 中的数据。

对于类别/故事栏:为此使用集合视图,因为默认情况下表格视图没有水平滚动,并且集合视图可以更加自定义。

对于提要:您可以为此使用集合视图或表格视图。单元格的数量将是要显示的提要数量,因此表格视图将滚动直到出现提要数据。

【讨论】:

  • 如果我增加第二个单元格的高度(具有帖子集合视图的那个),那么我可以滚动,但我希望第二个单元格的高度是动态的,所以我没有滚动 UICollectionView 视图,但就像一个带有一个小单元格和一个动态设置高度单元格的长表视图。
  • 您可以通过使用 **height for row at index ** delegate of table view 来动态设置第二个单元格的高度。将高度计算为集合视图中的行数 * 集合视图每个单元格的高度。我不确定这是否可行并且是错误的使用方法。使用这个结构:- 查看控制器 | > 故事集顶部视图 | > 它下面的表格视图用于帖子
  • 我以前也是这样,但酒吧会一直呆在那里。我希望整个视图作为一个整体滚动。不只是单元格内的内容。
  • 在表格视图中添加一个视图,就在自定义单元格的上方。此视图将向上滚动第一个单元格。您可以使用此视图添加 Stories Bar 检查此屏幕截图:prnt.sc/gvik8v
猜你喜欢
  • 2017-07-22
  • 2017-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多