【问题标题】:UIRefreshControl and tableFooterView = UIView()UIRefreshControl 和 tableFooterView = UIView()
【发布时间】:2016-07-28 11:01:22
【问题描述】:

在我的 tableView 中,我需要 self.tableView.tableFooterView = UIView() 否则表格会向下滚动太远。问题是,如果我添加它,那么我刷新 UIRefreshControl 的拉动将不再起作用。有没有办法两者兼得?

【问题讨论】:

    标签: ios uitableview footer uirefreshcontrol refresher


    【解决方案1】:

    为此自定义控件刷新控件

    【讨论】:

    • 很抱歉,您能进一步解释一下吗?
    【解决方案2】:

    没有理由不能两者兼得。您是否以正确的方式添加了UIRefreshControl? 这是我的一个项目的工作代码:

    var pullToRefreshControl : UIRefreshControl!
    
    override func viewDidLoad() {
            super.viewDidLoad()
    
            self.setFooterView()
            self.addPullToRefreshView()
        }
    
    private func setFooterView() {
    
            let footerView = UIView()
    
            let footerLabel = UILabel()
            footerLabel.text = "Table Footer"
            footerLabel.sizeToFit()
            footerView.addSubview(footerLabel)
    
            self.tableView.tableFooterView = footerView
        }
    
    private func addPullToRefreshView() {
    
            pullToRefreshControl = UIRefreshControl()
            pullToRefreshControl.attributedTitle = NSAttributedString(string: "Pull To Refresh")
            pullToRefreshControl.addTarget(self, action: "refresh:", forControlEvents: .ValueChanged)
    
            self.tableView.addSubview(pullToRefreshControl!)
        }
    

    【讨论】:

    • 是的,我在我的项目中尝试了这个确切的代码,但它没有工作。 (我不得不删除-> UIVIew,因为没有回报)。由于某种原因,页脚阻止了所有滚动。
    • 一个小提示,可能会产生重大影响 - 将 tableview 样式设置为 Grouped 而不是 Plain,无论是在 InterfaceBuilder 中还是通过代码。
    • 对不起。解决了!我有 self.tableView.alwaysBounceVertical = false 导致刷新不起作用
    • 很高兴你知道了!
    猜你喜欢
    • 1970-01-01
    • 2016-06-27
    • 2011-06-19
    • 2012-09-22
    • 1970-01-01
    • 2013-09-25
    • 1970-01-01
    • 2012-04-01
    • 1970-01-01
    相关资源
    最近更新 更多