【问题标题】:UITableView start scrolling positionUITableView 开始滚动位置
【发布时间】:2011-12-29 10:22:48
【问题描述】:

我有一个 UITableView,有没有办法在表格滚动时知道滚动的开始位置?

我不认为我可以继承 UITableView 的 UIScrollview,对吧?

另外,我需要知道是否有一种方法可以在 UITableView 中禁用垂直或水平滚动。

【问题讨论】:

  • 我已经简化了问题,希望现在已经清楚了。

标签: iphone objective-c ios uitableview


【解决方案1】:

根据您对 Niall McCormack 的回答,我观察到您可以使用

[self.tableView setDelaysContentTouches:NO];

在你的 tableviewcontroller 初始化中。

【讨论】:

  • UITableView 有页眉和页脚以及表格本身,它们都响应滚动,我想要的是:当我在表格标题区域滚动时,我禁用了表格视图的垂直滚动,实际上就是那个答案正是我想要的,谢谢 SamehDos!
【解决方案2】:

我不太明白你的问题。

你要不要

在表格视图的其余部分滚动时保持标题视图可见?

如果是这样,您可以将标题视图设置为位于 tableview 上方的单独视图。这将在表格的其余部分滚动时将其保持在适当的位置。

更改表格视图的原点,使其回滚到标题的底部

您可以像这样更改表格的 contentInset - tableView.contentInset = UIEdgeInsetsMake(-100, 0, 0, 0)]; 以便表格视图停留在标题视图的底部。


另外,我需要知道是否有禁用垂直或水平滚动的方法。

使用 UIScrollViews,您可以通过设置 scrollView.scrollEnabled = NO 禁用 all 滚动,或者您可以通过使用 setContentSize: 并将宽度或高度设置为大于滚动视图的宽度或高度来控制滚动方向改变它是水平滚动还是垂直滚动。

【讨论】:

  • UITableView 有页眉和页脚以及表格本身,它们都响应滚动,我想要的是:当我在表格标题区域滚动时,我禁用 tableview 的垂直滚动。
  • 我明白了 - 你的页眉和页脚视图是 UIScrollViews?
  • 不,它们是 UITableViews,我使用滚动委托来处理它的滚动
【解决方案3】:
  • 禁用滚动:

[myScroll setScrollEnabled:NO];

  • 我不认为我可以继承它的 UIScrollview,对吧?

是的,你可以。

  • 要知道你在 UIScrollView 中的位置,可以查看this 的答案。

另一件事,你的问题有点令人困惑(至少对我来说)。我不确定你说的是UIScrollViewUITableView,还是UITableView 的“滚动”。

【讨论】:

  • 我想禁用某个方向的滚动,而不是双向滚动。
猜你喜欢
  • 1970-01-01
  • 2010-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多