ios – 当我返回查看控制器时,在tableview顶部刷新控制
发布时间:2020-12-14 19:30:05 所属栏目:百科 来源:网络整理
导读:出于某种原因,第一次加载视图控制器时,刷新控件的行为与预期一致(它在向下滑动时显示在tableview下).问题是当我点击另一个选项卡,然后返回到视图控制器时,刷新控件不再淡入,并且在tableview顶部可见. 这是代码的一部分: class CoreTableViewController : UI
出于某种原因,第一次加载视图控制器时,刷新控件的行为与预期一致(它在向下滑动时显示在tableview下).问题是当我点击另一个选项卡,然后返回到视图控制器时,刷新控件不再淡入,并且在tableview顶部可见.
这是代码的一部分: class CoreTableViewController : UIViewController,UITableViewDataSource,UITableViewDelegate { var tableView:UITableView! var tableData:Array<AnyObject> = [] var dataFetched:Bool = false var refreshControl:UIRefreshControl? override func viewDidLoad() { super.viewDidLoad() self.edgesForExtendedLayout = UIRectEdge.None; self.tableView = self.assignTableView() self.tableView.delegate = self self.tableView.dataSource = self self.tableView.registerClass(UITableViewCell.self,forCellReuseIdentifier: "Cell") self.tableView.separatorStyle = UITableViewCellSeparatorStyle.None; if self.enableRefresher() { self.setRefreshControl() } } func enableRefresher() -> Bool { return true } func fetchData(cleanFirst:Bool = false) { // Fetch data. } func refresh() { self.fetchData(true) self.refreshControl!.endRefreshing() } func setRefreshControl() { self.refreshControl = UIRefreshControl() //self.refreshControl!.attributedTitle = NSAttributedString(string: "Actualizar") self.refreshControl!.addTarget(self,action: #selector(CoreTableViewController.refresh),forControlEvents: UIControlEvents.ValueChanged) self.tableView.addSubview(refreshControl!) } } 有什么想法吗? 解决方法
我在这里找到了修复:
https://stackoverflow.com/a/29088409/209200
而不是self.tableView.addSubview(refreshControl!),它应该是self.tableView.insertSubview(refreshControl!,atIndex:0). 这导致refres控件出现在tableview上. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |