У меня есть UITableView
, который в делегате UIViewController
, который добавляет новый элемент, вставляет строку.Строка вставлена правильно.
Однако UIRefreshControl
на UITableView не исчезнет при перетаскивании UITableView
после этого.
extension FeedViewController: AddPostDelegate {
func didAddPost(_ userPost: UserPost) {
self.postsWrapper?.posts.insert(PostWrapper(type: PostType.user(userPost)), at: 0)
self.tableView.beginUpdates()
self.tableView.insertRows(at: [
IndexPath(row: 1, section: 0)
], with: .automatic)
self.tableView.endUpdates()
self.refresher.endRefreshing()//Does nothing
}
}
In viewDidLoad
:
refresher = UIRefreshControl()
tableView.addSubview(refresher)
refresher.addTarget(self, action: #selector(didDragScrollView), for: .valueChanged)
refresher.layer.zPosition = -1//otherwise in front of the header cell when refreshing (iOS 9.2)
Если я не перехожу к другому представлению, а возвращаюсь, прежде чем пытаться обновить, оно всегда зависает, вращаясь навсегда.
РЕДАКТИРОВАТЬ: Похоже, что UIRefreshControl
больше не вызывает целевой функции ПОСЛЕ того, как я добавлю сообщение.
Любые идеи о том, почему это может происходить?Как это исправить?