gpt4 book ai didi

ios - 当 UITableViewController frame.height 较小时,UITableViewController refreshControl 出现故障

转载 作者:IT王子 更新时间:2023-10-29 05:19:38 26 4
gpt4 key购买 nike

当 UITableViewController 的框架低于特定高度时,UITableViewController refreshControl 会出现问题。

就目前而言,我有一个 UIViewController,在其中我有一个嵌入了 UITableViewController 的 ContainerView。我希望高度为屏幕的 50%。

当我使用 refreshControl 时,我得到了这种行为:The tableView jumps down at the very end when scrolling down. You'll notice it towards the end of this video when I decide to scroll down slowly.

当ContainerView frame在一定值以上时不会出现这个问题。因此,当高度为屏幕的 75% 时,一切正常,refreshControl 也很流畅。当它是 50% 时,就会发生该错误。

我尝试了两种不同的方法:

  1. self.tableView.frame = CGRectMake(0, numOfPixelsToDropTableBy, self.tableView.frame.size.width, self.tableView.frame.size.height) 是我的一件事尝试过。这样做的问题是,如果您想通过 ContainerView 为 tableView 提供圆角,而您的 ContainerView 仍然占用更多空间,这会使其他元素的约束变得尴尬。

  2. 我去了 Storyboard,我基本上在我想要的地方有了 ContainerView 的顶部。然后,我将底部延伸到屏幕底部之外,为 ContainerView 提供足够大的高度……但用户永远不会知道。除非,他们会知道,因为现在 tableView 超出了屏幕,我看不到 tableView 的最后几行。

最终...我不想使用第 3 方库,但我想要一个功能完美的 refreshControl。我该如何解决这个问题?

最佳答案

1.我已经创建了下一个架构
enter image description here
2.添加了一些约束
enter image description here
3.在 TableViewController 我添加了下一个代码

import UIKit

class TableViewController: UITableViewController {

override func viewDidLoad() {
super.viewDidLoad()

self.refreshControl = UIRefreshControl(frame: CGRectZero)
self.refreshControl!.addTarget(self, action: "refresh:", forControlEvents: .ValueChanged)
}

func refresh(sender:UIRefreshControl)
{
self.refreshControl?.endRefreshing()
}
}
  1. 并将示例上传至github

重要提示我使用过 Xcode 7 和 Swift 2。

关于ios - 当 UITableViewController frame.height 较小时,UITableViewController refreshControl 出现故障,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32595939/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com