UIRefreshControl 在 uitableview 中重叠 headerview
UIRefreshControl overlapping headerview in uitableview
我的 UIViewController 中有一个 UITableView 并且添加了一个 UIRefreshControl 如下:
lazy var refreshControl: UIRefreshControl = {
let refreshControl = UIRefreshControl()
refreshControl.addTarget(self, action: #selector(ListViewController.handleRefresh), for: UIControlEvents.valueChanged)
return refreshControl
}()
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.addSubview(self.refreshControl)
}
效果很好,但在与 header 视图重叠的地方会产生令人讨厌的 UI 效果。
我试过设置 frame height
和 contentInset
但都没有用。
我发现我必须延迟 UIRefreshControl 关闭才能使 UI 正常运行。
这对我来说可能非常独特,但我发布它以防万一。
let when = DispatchTime.now() + 0.5 // change to desired number of seconds
DispatchQueue.main.asyncAfter(deadline: when) {
refreshControl.endRefreshing()
}
我的 UIViewController 中有一个 UITableView 并且添加了一个 UIRefreshControl 如下:
lazy var refreshControl: UIRefreshControl = {
let refreshControl = UIRefreshControl()
refreshControl.addTarget(self, action: #selector(ListViewController.handleRefresh), for: UIControlEvents.valueChanged)
return refreshControl
}()
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.addSubview(self.refreshControl)
}
效果很好,但在与 header 视图重叠的地方会产生令人讨厌的 UI 效果。
我试过设置 frame height
和 contentInset
但都没有用。
我发现我必须延迟 UIRefreshControl 关闭才能使 UI 正常运行。
这对我来说可能非常独特,但我发布它以防万一。
let when = DispatchTime.now() + 0.5 // change to desired number of seconds
DispatchQueue.main.asyncAfter(deadline: when) {
refreshControl.endRefreshing()
}