加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在Swift中实现pull to Refresh时,Table View标头卡住了

发布时间:2020-12-14 04:26:46 所属栏目:百科 来源:网络整理
导读:我在UIViewController中有一个表视图.我在tableView上实现了一个UIRefreshControl.如果我在刷新控制器轮旋转时向上拖动桌子,则第一个标头会卡在桌子的中间.我无法弄清楚出了什么问题…… 以下是问题的屏幕截图: 这是我在viewDidLoad中使用的代码: refreshC
我在UIViewController中有一个表视图.我在tableView上实现了一个UIRefreshControl.如果我在刷新控制器轮旋转时向上拖动桌子,则第一个标头会卡在桌子的中间.我无法弄清楚出了什么问题……

以下是问题的屏幕截图:

enter image description here

这是我在viewDidLoad中使用的代码:

refreshControl = UIRefreshControl()
        refreshControl.tintColor = UIColor.redColor()
        refreshControl.addTarget(self,action: "handleRefresh:",forControlEvents: UIControlEvents.ValueChanged)
        tableView.insertSubview(refreshControl,atIndex: 0)
        tableView.sendSubviewToBack(refreshControl)

这就是我创建标题的方式:

func tableView(tableView: UITableView,willDisplayHeaderView view: UIView,forSection section: Int) {
        let header: UITableViewHeaderFooterView = view as! UITableViewHeaderFooterView //recast view as a UITableViewHeaderFooterView
        header.contentView.backgroundColor = UIColor(red: 59/255,green: 134/255,blue: 134/255,alpha: 1.0) //make the background color light blue
        header.textLabel.textColor = UIColor.whiteColor() //make the text white
        header.alpha = 0.5 //make the header transparent
    }

非常感谢 !

解决方法

使用tableView.addSubview(refreshControl)应该可以正常工作.检查故事板,如果没有导航栏,则禁用“在顶部X下扩展”选项,如果确实已启用它们.

如果全部失败,您如何创建标题视图?如果他们被创建&像表中的常规单元格一样返回

let headerCell = tableview.dequeueReusableCellWithIdentifier("HeaderCell") as! UITableViewCell

在返回之前尝试将它们包装在UIView中

let view : UIView = UIView(frame: headerCell.view.frame)
view.addSubview(headerCell.view)
return view

有时,当表视图将这些标题视为常规表单元格并且抱怨缺少索引路径时,会出现此问题,因为它们会破坏布局.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读