我有一个静态UITableView
,有几个部分。在一个表格行中,我有一个UIDatePicker
。在触摸时,表格单元格会扩展,我可以选择日期。好到目前为止。但如果表格行位于页面底部,我需要手动向上滚动以选择日期。 如何确保日历选择器像日历应用程序一样在视图中显示?您能指出我正确的方向吗?
答案 0 :(得分:2)
您可以使用此功能:
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)
}
}
答案 1 :(得分:1)
使用scrollToRowAtIndexPath:atScrollPosition:animated:
:
self.tableView.scrollToRowAtIndexPath(myIndexPath, scrollPosition: .None, animated: true)
我没有测试过这种语法,请告诉我是否需要改进,但我知道方法是正确的。您希望使用UITableViewScrollPosition.None
,以便移动表格视图足够以查看相关行:
UITableViewScrollPositionNone
表视图以最小的移动滚动感兴趣的行完全可见。如果该行已完全可见,则不会进行滚动。例如,如果行位于可见区域之上,则行为与UITableViewScrollPositionTop指定的行为相同。这是默认值。
适用于iOS 2.0及更高版本。