UITableView中的UIDatePicker,确保可见性

时间:2014-10-15 14:56:48

标签: ios uitableview swift uidatepicker autoscroll

我有一个静态UITableView,有几个部分。在一个表格行中,我有一个UIDatePicker。在触摸时,表格单元格会扩展,我可以选择日期。好到目前为止。但如果表格行位于页面底部,我需要手动向上滚动以选择日期。 如何确保日历选择器像日历应用程序一样在视图中显示?您能指出我正确的方向吗?

2 个答案:

答案 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及更高版本。