【发布时间】:2014-10-15 14:56:47
【问题描述】:
我有一个静态的UITableView 有几个部分。在一个表格行中,我有一个UIDatePicker。触摸时表格单元格展开,我可以选择日期。到目前为止还好。但如果表格行位于页面底部,我需要手动向上滚动以选择日期。 我如何确保日期选择器像日历应用一样显示在视图中?您能指出正确的方向吗?
【问题讨论】:
标签: ios uitableview swift uidatepicker autoscroll
我有一个静态的UITableView 有几个部分。在一个表格行中,我有一个UIDatePicker。触摸时表格单元格展开,我可以选择日期。到目前为止还好。但如果表格行位于页面底部,我需要手动向上滚动以选择日期。 我如何确保日期选择器像日历应用一样显示在视图中?您能指出正确的方向吗?
【问题讨论】:
标签: ios uitableview swift uidatepicker autoscroll
您可以使用此功能:
func scrollToRowAtIndexPath(indexPath: NSIndexPath, atScrollPosition scrollPosition: UITableViewScrollPosition, animated: Bool)
在
中使用override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
// ...
var indexPathToJump = NSIndexPath(forRow: 0, inSection: 5)
tableView .scrollToRowAtIndexPath( indexPathToJump, atScrollPosition: .None, animated: true)
}
}
【讨论】:
使用scrollToRowAtIndexPath:atScrollPosition:animated::
self.tableView.scrollToRowAtIndexPath(myIndexPath, scrollPosition: .None, animated: true)
我没有测试过这个语法,如果需要改进请告诉我,但我知道这个方法是对的。您想使用UITableViewScrollPosition.None 以便它移动表格视图刚好,以使有问题的行在视图中:
UITableViewScrollPositionNone表格视图滚动感兴趣的行,以最小的移动完全可见。如果该行已经完全可见,则不会发生滚动。例如,如果行在可见区域之上,则行为与 UITableViewScrollPositionTop 指定的行为相同。这是默认设置。
适用于 iOS 2.0 及更高版本。
【讨论】: