swift 3 ios tableview按单元格滚动

Posted

技术标签:

【中文标题】swift 3 ios tableview按单元格滚动【英文标题】:swift 3 ios tableview scroll by cell 【发布时间】:2017-03-10 07:16:57 【问题描述】:

我创建了一个表格视图,它按预期正常工作。但是,我想更改滚动方式,使用户一次只能滚动一个单元格,这样,单元格就不会被切成两半。

这是一个例子:http://imgur.com/ffmk0jP

所以基本上我不希望默认滚动..我希望它一次滚动一个单元格以始终保持原始状态的视图..

有办法吗?

【问题讨论】:

如果您没有得到可用的答案:只要用户向下滚动您的表格视图(UITableView 实际上具有固定高度),就会触发 scrollView :didScroll, func 。 UITableViewDelegate 函数 selectRowAtIndexPath 会将焦点移动到特定单元格。我不会花时间弄清楚如何实现该 func 以完全满足您的需求,但同样,如果您没有得到完整的答案,这些方法是一个起点。 【参考方案1】:

这个怎么样?

    scrollToNearestSelectedRowAtScrollPosition:animated:?

    tableview scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:NO];

【讨论】:

urmm 我应该把这些放在哪里?抱歉,我对 swift 和编程有点陌生 也许您可以尝试scrollToRowAtIndexPath:atScrollPosition:animated:,通过设置 indexPath 参数一次增加行 + 1。 developer.apple.com/reference/uikit/uitableview/… 或在用户滚动 UITableView 时使用 scrollRectToVisible,您需要知道 Cell Rect。 developer.apple.com/reference/uikit/uiscrollview/…【参考方案2】:

您可以使用 viewWillTransition 函数来阻止该问题..

verride func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator)

【讨论】:

以上是关于swift 3 ios tableview按单元格滚动的主要内容,如果未能解决你的问题,请参考以下文章

无法从swift ios中的一段tableview中删除单元格

根据内容动态调整tableview单元格的高度 - iOS Swift

ios swift:Tableview“un”-复选标记单元格

如何在swift ios中的自定义TableView单元格中显示多个字符串值到多个标签?

iOS swift UIImageView更改tableView单元格中的图像

新的 Firebase 数据导致 TableView 单元格闪烁 (Firebase/iOS/Swift)