ios - UITableView pull-to-add 交互模式

标签 ios objective-c swift uitableview uiscrollview

我正在尝试对 UITableView 实现拉动添加交互,就像应用程序 Clear 所做的那样,但没有花哨的 UI 效果 - 只是试图简单地在拖动后向 TableView 添加一个新单元格至少下降了新单元高度的一半。

一切正常,但问题是 UIScrollView 使其在释放拖动后始终弹回到其 contentOffset(-64 和 UINavigationController 标题栏),即使在添加新单元格之后也是如此。

我该如何避免/预防这种情况?我尝试将 setContentOffset 设置为 0,-64,没有动画,但它似乎被忽略了,仍然反弹。

欢迎任何建议!

Unwanted bounce-back effect

placeHolderCell 是作为 subview 添加到自身 (UITableViewController) 的 UITableViewCell

override func scrollViewDidEndDragging(scrollView: UIScrollView, willDecelerate decelerate: Bool) {

    let delta = abs(Double(scrollView.contentOffset.y)) - abs(Double(initialScrollViewContentOffset))

    if delta >= Double(placeHolderCell.frame.height / 2) {
        insertNewObject(scrollView)
    }

    placeHolderCell.removeFromSuperview()

}

func insertNewObject(sender: AnyObject) {

    let indexPath = NSIndexPath(forRow: 0, inSection: 0)

    objects.insert(NSDate(), atIndex: 0)

    UIView.setAnimationsEnabled(false)
    tableView.beginUpdates()

    tableView.insertRowsAtIndexPaths([indexPath], withRowAnimation: .None)

    tableView.endUpdates()
    UIView.setAnimationsEnabled(true)

}

最佳答案

我遇到了类似的事情,尝试取消选中(调整 View 插图)所需的 View Controller Nib 或 Storyboard View Controller ,否则粘贴屏幕截图或解释更多。

关于ios - UITableView pull-to-add 交互模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35549885/

相关文章:

objective-c - Xcode 5 上的 XPC 测试包

ios - 从 MPMediaQuery 获取用于 UITableView 的部分标题列表(数组)?

ios - 从 AppDelegate 中检索最新版本的组件失败

iphone - iOS:使用设备修饰符加载 xib 文件?

ios - Swift - 如何保存相关 map 注释(图钉)的图像?

ios - 如何过滤比较 2 个 JSON 的数据并将结果保存在数组中

ios - 如何在 iOS 的头文件中创建 CGSize 类型的常量?

iphone - UITableView在离开框架时在单元格上随机滴答

swift - spriteKit didBeginContact 无法添加Child

ios - 使用大型数据库时,如何避免在 UITableView 中使用自定义单元格加载时间过长