最新消息:VPS服务器又从fzhost.net换回Linode了,主题仍用朋友推荐的大前端D8

[已解决]Swift中实现TableView下拉滚动刷新内容

Swift crifan 113浏览 0评论

已经实现了TableView聊天消息对话框了

现在需要实现

下拉的时候:

可以去获取之前的聊天消息

并刷新显示

UIKit User Interface Catalog: Scroll Views

UIScrollViewDelegate Protocol Reference

swift tableview scroll

ios – How do i automatically scroll in a table view? Using swift – Stack Overflow

ios – How to make tableView scrollable in Swift – Stack Overflow

Swift – UITableView scroll event – Stack Overflow

Update UITableView when user scrolls to end | Anas Imtiaz

swift tableview scroll update

swift tableview scroll refresh

swift uitableview scroll refresh

ios – How to use pull to refresh in swift – Stack Overflow

Implement Pull-to-refresh and Empty Table | iOS Programming

swift uitableview pull refresh

swift tableview pull refresh

看了:

Implement Pull-to-refresh and Empty Table | iOS Programming

后,好像是:

之前看到的:

UIScrollViewDelegate

只是针对于:

已有的tableView的row去滚动的时候才用得到的

而对于:

下拉,获取新数据,填充新的row,然后显示

即,下拉更新

的动作,则不属于scroll,属于pull

所以应该用这个:

UIRefreshControl

swift uitableview UIRefreshControl

[iOS] 使用UIRefreshControl 实现 UITableView下拉刷新(Swift版本) – 汪海的实验室 – 博客频道 – CSDN.NET

UIRefreshControl Class Reference

然后终于实现了下拉更新:

    var messageTableView:UITableView = UITableView()
    var refreshControl:UIRefreshControl!
    override func viewDidLoad() {
        super.viewDidLoad()
        //…
        self.refreshControl = UIRefreshControl()
       
self.refreshControl.attributedTitle = NSAttributedString(string: "请下拉以刷新历史消息")
       
self.refreshControl.addTarget(self, action: "pullToRefreshHistoryMessages", forControlEvents: UIControlEvents.ValueChanged)
       
self.messageTableView.addSubview(refreshControl)
    }

    func pullToRefreshHistoryMessages(){
       
print("pullToRefreshHistoryMessages")
       
        //get history message data …
       
        self.messageTableView.reloadData()
        self.refreshControl.endRefreshing()
    }

效果:

当下拉的时候,那个滚动的菊花状的圆圈,满的时候,就会调用到:

target的函数:pullToRefreshHistoryMessages

-》当下拉距离很短,菊花状没有满:

则不会调用对应的target函数的。

转载请注明:在路上 » [已解决]Swift中实现TableView下拉滚动刷新内容

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
16 queries in 0.185 seconds, using 10.07MB memory