【问题标题】:Swift: Make it obvious that a table view is scrollable斯威夫特:明确表视图是可滚动的
【发布时间】:2017-08-02 15:37:55
【问题描述】:

真的很奇怪的问题,但这里有。

我有一个包含一些自定义单元格的表格视图。在较大的设备上,它们都适合并且看起来很棒。

但在 iPhone 4 等较小的设备上,由于页面上的其他内容,表格视图会缩小,因此并非所有单元格都在视图中。

问题:

如果不实际滚动视图,就不可能知道还有其他单元格。

有没有办法解决这个问题?

谢谢。

【问题讨论】:

  • 让你的单元格高度足够高,这样最后一个适合屏幕的单元格只有一半可见,这样用户就会知道他们应该滚动。
  • 在屏幕底部添加一个不透明的图像,它覆盖在 tableview 上,给人一种隐藏某些内容并且用户需要滚动 table view 的印象。
  • 这不是一个奇怪的问题,但也不是一个真正的编程问题。 iOS 会隐藏滚动指示器,除非用户实际滚动(以及瞬间被告知要闪烁)。这使得发现任何可滚动内容变得困难。一般来说,这是 iOS 的问题。
  • 好的,谢谢大家。我使用 Nikita 的想法让滚动指示器闪烁了几次,并且还让单元格稍微大了一点,所以在较小的设备上你可以看到最后一个单元格的 1/2。

标签: ios iphone swift uitableview


【解决方案1】:

你可以用这个:

override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(animated)
    self.tableView.flashScrollIndicators()   
}

【讨论】:

  • 请注意,这是内置在 UITableViewController 中的。只有在向 UIViewController 添加表格时才需要这个。
  • 我不确定这是否有效。我添加了它,但我什么也没看到。
【解决方案2】:

您可以使用heightForRowAtIndexPath 计算单元格的高度,这样最后一个单元格就不会完全可见。看到一个单元格被中途截断是一个很好的指示,让用户感觉下面有更多内容。

【讨论】:

    【解决方案3】:

    我添加了这段代码:

    tableView.contentOffset = CGPoint(x: 0, y: 200)
    

    第一张卡片和最后一张购物车被截断,给人一种需要滚动的印象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-31
      • 2017-07-22
      • 2017-03-24
      • 1970-01-01
      • 1970-01-01
      • 2015-11-20
      相关资源
      最近更新 更多