- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在寻找一种方法来滚动到 UITableView 中的选定单元格,即使底部有空单元格也是如此。我的问题是,当表格 View 底部没有单元格时,滚动事件不会滚动。
作为解决方法,我最终在底部创建了空单元格并删除了这些单元格,但我认为这不是一个好的解决方案。那么如何做到这一点呢?
我的代码是这样的:
func scrollToSelectedCell(indexPath: IndexPath) {
self.tableView.scrollToRow(at: indexPath, at: UITableViewScrollPosition.top, animated: true)
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let cell = tableView.cellForRow(at: indexPath)
if (cell as? DropDownCell) != nil {
self.performSegue(withIdentifier: "showDropDownSelector", sender: cell)
} else if (cell as? PickerCell) != nil {
self.performSegue(withIdentifier: "showPickerSelector", sender: cell)
} else if let tmp_cell = cell as? TextFieldCell {
scrollToSelectedCell(indexPath: indexPath)
tmp_cell.textField.becomeFirstResponder()
}
}
最佳答案
使用 UITableView 继承自 UIScrollView 的事实,您可以更优雅地完成此操作。这允许您结合使用设置 tableView 的内容插入,然后更改内容偏移量。
使用 contentInset 属性在单元格下方的表格 View 中添加边距:
tableView.contentInset = UIEdgeInsetMake(top: 0, left: 0, bottom: A LARGE NUMBER, right: 0)
然后使用 contentOffset 设置您希望内容在 ScrollView 中的初始位置:
tableView.contentOffset = CGPoint(x: 0, y: SOME OTHER LARGE NUMBER TO POSITION CENTRALLY IN THE MARGIN)
您可以在以下网址获得更多信息:https://developer.apple.com/reference/uikit/uiscrollview
希望对您有所帮助。
关于ios - swift3 scrollToRow 即使有空单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39874279/
问题 我需要重新加载一个 UITableView,其中一个特定的单元格位于 tableview 的顶部。例如,让 tableView 中的第三个单元格出现在 tableView 的顶部,而不是第一个。
ScrollToRow 无法正常工作。我编写的函数似乎工作正常,但我希望它仅在添加时向下滚动到最后一行,就像在聊天中发生的那样。当您收到新消息时,您的表格 View 会滚动到底部以阅读新消息。 但是,
我正在寻找一种方法来滚动到 UITableView 中的选定单元格,即使底部有空单元格也是如此。我的问题是,当表格 View 底部没有单元格时,滚动事件不会滚动。 作为解决方法,我最终在底部创建了空单
我想做的是 scrollToRow,然后为该行的背景设置动画,使其背景发生明显变化,以便用户可以看到确切的行。 我有一个大约有 100 行的表,当 scrollToRow 被触发时,它会滚动到正确的行
重新加载数据会在其后调用 scrollToRow 时导致崩溃。我必须在DispatchQueue.main.async中写这段代码,但是,为什么? 为什么我已经在主队列中了,为什么要说切换到主队列?
首先,让我提供一些有关 React-virtualized 用例的背景知识。我将它与 react-pdf v2.0 beta 版本一起使用为了构建一个 pdf 查看器,可以更有效地处理显示/渲染具有大
我有一个包含行数的表。我想在加载后预滚动表格,这并不难,但我有一个问题。 scrollToRow 执行后,表格变得不可滚动。 这是我的代码滚动功能: func scrollToValue() {
我正在实现一个 UITableView,我希望表格 View 在用户开始滚动时自动向上滚动到顶部。我使用了与此类似的逻辑 post检测用户滚动的方向。当用户开始向上滚动时,下面的函数检测到滚动,但是
我正在制作一个聊天应用程序,我试图让 tableView 滚动到最近发送的消息的底部。 下面是我的协议(protocol)方法的代码片段: extension ChatViewController:
当 tableView 滚动时,我更新 dataSource 并调用 tableView 函数 reloadData . tableView 后 DidEndDecelerating我调用函数: le
我有一个实现文本字段委托(delegate)的单元类。在这个委托(delegate)中,我正在调用一个函数来告诉 tableview 根据 indexPath 滚动到特定行。这在大多数情况下有效,但在
我有一个 ViewController,里面有一个 tableview。 我添加一些行并调用tableview.reloadData()。 我使用 tableview.scrollToRow() 调用
我有一个包含大约 500 个项目的 UITableView。 当我调用 tableView.scrollToRow(at: indexPath, at: .bottom, animated: fals
我注意到一个奇怪的 UITableView 行为似乎只发生在 iOS 11 设备上。 插入新行后(更改数据源然后调用 reloadData),UITableView 在调用 scrollToRow 或
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
我是一名优秀的程序员,十分优秀!