【问题标题】:UITableView don't scroll when it's only composed of section headerUITableView 仅由节标题组成时不滚动
【发布时间】:2016-04-04 00:34:29
【问题描述】:

我有一个包含部分的 UITableView,每个部分都有一个标题视图。当您单击标题时,该部分正在扩展(因此该部分中的行数此时从 0 变为 X,并且行插入动画)

问题是,当您没有任何部分被消耗时,当您尝试转到示例的底部时,TableView 不会滚动(当您只显示部分标题并且任何地方都显示为 0 行时)

我怀疑这是因为根本没有行(因为只要一个部分被消耗,TableView 就会正常滚动)但我找不到任何解决方案。

有什么想法吗?

【问题讨论】:

  • 根据您的问题描述,如果您的行数少于视图的高度,您似乎正在尝试在没有行/行数有限时滚动表格,它不会滚动,如果您保持启用它会产生反弹效果,当您尝试滚动时是否会出现任何特定问题,或者您能否告诉您的期望以及在 tableview 委托中设置的行数
  • 显然但就是这样,我的部分数量不适合视图的高度,我仍然无法滚动。基本上不展开section时,tableview的总行数为0。
  • @ tYp 如果您在 tableview 中有 0 行 tableview 不应该显示并且您将无法滚动它,尽管您可以启用 Palak 提到的反弹以获得一些滚动效果

标签: ios uitableview


【解决方案1】:

我会把它放在一个简单的评论中,但我没有这样做的声誉。标题视图的总和是否都等于大于它们所在视图的高度?此外,请检查以确保您没有 UITableView 没有禁用滚动。如果您不确定,请在 ViewDidLoad() 文件中的 ViewDidLoad() 方法中使用以下代码覆盖它:

    tableView.scrollEnabled = true

希望这可以帮助,如果这不起作用,请发表评论,我会尽力帮助您解决它。

【讨论】:

  • 如果 UITableView 仅具有节标题,则需要再次将 Scrolling Enabled 属性设置为“true”,以允许滚动,即使在 XIB 中或通过 awakeFromNib 或 initWithFrame 中的代码将 Scrolling Enabled 属性设置为.奇怪的!但有效...
  • 在每个 [tableView reloadData] 之后设置 tableView.scrollingEnabled = true
【解决方案2】:

如果您为 tableView 使用自定义视图、xib 文件,请确保 xib 文件中的“视图”是“uiview 类”,而不是“uitableviewcell”。

不管您对视图使用什么自定义,但视图本身必须是“uiview”。删除您在 xib 中的任何视图,然后从 xcode 中的对象库中拖动一个 uiview 并从那里进行设置,您的自定义类仍然可以被“uiview”使用

【讨论】:

    【解决方案3】:

    也许这会对你有所帮助

    在你的 viewDidload 方法中

     TableView.alwaysBounceVertical =YES; // it is your choice that you want it vertical or horizontal .
     TableView.directionalLockEnabled = YES;
    

    当我的数据对于我的视图来说较小但我的页面仍然滚动时,我在我的项目中使用了它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-07
      • 1970-01-01
      • 2012-04-05
      • 1970-01-01
      • 2010-10-14
      • 1970-01-01
      • 1970-01-01
      • 2017-10-14
      相关资源
      最近更新 更多