【问题标题】:UITableView manual scrolling to the last rowUITableView 手动滚动到最后一行
【发布时间】:2010-04-19 17:54:02
【问题描述】:

我有一个表格视图控制器,它不允许我手动滚动到最后一行。它会自动稍微向上滚动,所以我永远无法选择最后 2-3 行。有人遇到过这个问题吗?我应该为表格视图设置一个最小高度来解决这个问题吗?如果有怎么办?

【问题讨论】:

    标签: iphone uitableview scroll


    【解决方案1】:

    您是否可以使用触摸滚动到最后一行?可能是 contentSize 问题。

    【讨论】:

    • 不,我无法使用触摸滚动。如何设置 contentSize?
    • 我将表格视图内容大小的最小高度设置为 600。行为没有变化。
    • 如果您没有手动设置 contentSize,请不要立即开始。您是否验证了表格的框架是正确的,以及您的期望?即,如果它在屏幕外或在另一个视图下方扩展,您将获得上述行为。
    【解决方案2】:

    以下帖子中的第一个答案帮助我解决了这个问题 -

    -[UITableView scrollToRowAtIndexPath:] scrolls, but goes back to 1st row

    UiTableView 的初始 CGSize 设置为更高的值(超出视图边界),这就是问题所在。我赞成这个答案。谢谢。

    【讨论】:

      【解决方案3】:

      可能您的 tableView 框架太大并超出了屏幕。这将阻止底部单元格向上滚动到屏幕,因为它们已到达 tableView 的底部。

      您必须确定屏幕上的可见区域。但是代码应该是这样的:

      self.tableView.frame = CGRectMake(0.0, 0.0, 320, 324);
      

      以下是 CGRectMake 值的含义:(X, Y, Width, Height)

      【讨论】:

      • 对于考虑可变屏幕尺寸的全屏表格视图,使用 self.tableView.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size .height);
      【解决方案4】:

      使用这个

      tableView = [[UITableView alloc]initWithFrame:CGRectMake(0,50,320,320)style:UITableViewStylePlain];
      

      随意设置高度。

      【讨论】:

        【解决方案5】:

        最简单的方法是设置这个[statusMessagesTableView setContentInset:UIEdgeInsetsMake(0, 0, 80, 0)];

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-12-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-03-17
          • 2012-08-09
          相关资源
          最近更新 更多