我想用全屏的单元格实现UITableView。当用户将单元格向上移动一部分时,我想跳到下一个单元格,而不是让它自然滚动。iOS在UITableView滚动时跳转到下一个单元格
我在这里看不到很多问题或答案,也许这是因为这是一个愚蠢的想法,但客户希望看到它,而设计师也是这样设计的,所以我真的必须尝试。
有没有人对如何实现这一点有任何建议?
谢谢。 (并感谢指出我的无知,不要说谢谢!)
我想用全屏的单元格实现UITableView。当用户将单元格向上移动一部分时,我想跳到下一个单元格,而不是让它自然滚动。iOS在UITableView滚动时跳转到下一个单元格
我在这里看不到很多问题或答案,也许这是因为这是一个愚蠢的想法,但客户希望看到它,而设计师也是这样设计的,所以我真的必须尝试。
有没有人对如何实现这一点有任何建议?
谢谢。 (并感谢指出我的无知,不要说谢谢!)
如果您的单元格将与您的tableView的高度相同的大小,请将pagingEnabled
属性设置为YES
。这将使其捕捉到每个垂直滑动上的完整单元格。如果你这样做,我会确保高度恰好全屏,否则当你滚动时你会得到一些奇怪的偏移量。
- (void)viewDidLoad
{
[super viewDidLoad];
// or somewhere similar
self.tableView.pagingEnabled = YES;
}
...
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return self.tableView.frame.size.height;
}
它实际上不是一个可怕的idea-你可以实现与寻呼滚动视图类似的功能,但是这不需要有一次全部加载数据的优势。
编辑:我还必须确保到控制器上禁用automaticallyAdjustsScrollViewInsets
,否则我不希望初始的第一单元偏移,以防万一你运行到这一点。
谢谢,这正是我期待的。我有第一个单元格稍微偏移的另一个问题,但是,我在哪里可以自动禁用AdjustsScrollViewInsets? – ColinMasters
您可以在'viewDidLoad:'中添加'self.automaticallyAdjustsScrollViewInsets = NO'行。请注意,您将其设置在实际控制器上而不是在表格视图中。 – Stonz2
这工作,完美答案谢谢。 – ColinMasters
UITableView继承自具有名为pagingEnabled的属性的UIScrollView。设置为YES,它应该做你想做的。 – manecosta
就像用户向上滚动一样,显示下一个单元格? –
而不是行,使用部分,然后它会自动执行相同的操作。你将需要更新viewForSectionHeader,它应该看起来像一个表格单元格。 – Mrunal