ios - 如何将拉动刷新 Controller 添加到 ScrollView ?

标签 ios swift scrollview pull-to-refresh

您好,在我的应用程序中,我想将拉动刷新 Controller 添加到 ScrollView 。 我编写了以下代码,但没有得到任何响应。

每当我 ScrollView 时,都不会调用添加目标方法。

@IBOutlet var scrool: UIScrollView!
var refreshControl = UIRefreshControl()

override func viewDidLoad() {
        super.viewDidLoad()
        // Add refresh control for the Home page scroll view.
        self.refreshControl.tintColor = UIColor.appcolor
        self.refreshControl.attributedTitle = NSAttributedString(string: "Pull to refresh")
        self.refreshControl.addTarget(self, action: #selector(refresh(sender:)), for: UIControl.Event.valueChanged)
        self.scrool.isScrollEnabled = true
        self.scrool.alwaysBounceVertical = true
        scrool.addSubview(refreshControl)
    }
    @objc func refresh(sender:AnyObject) {
        // Code to refresh table view
        self.getHomePageApi()
        refreshControl.endRefreshing()

    }

最佳答案

您好,当我在 viewwillappear() 中编写此代码时解决了这个问题,除了 viewdidload() 函数之外,它可以正常工作。

var refreshControl:RefreshControl!    
override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        refreshControl = RefreshControl()
        refreshControl.addTarget(self, action: #selector(refresh), for: .valueChanged)
        scrool.refreshControl = refreshControl
    }

    @objc func refresh()
    {
        // Code to refresh table view
        refreshControl.endRefreshing()
        self.getHomePageApi()

    }

关于ios - 如何将拉动刷新 Controller 添加到 ScrollView ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54730638/

相关文章:

ios - 设置委托(delegate)以将数据从一个选项卡传递到另一个选项卡

ios - Swift JSON 无法获取第二个变量

android - Android 垂直滚动和水平滚动

Android FrameLayouts 并排与独立的内部滚动

ios - 如何在一个部分中组合相同的日期对象?

android - 使用 ImageView 进行全景查看

iphone - 使用 AVFoundation 保存视频

javascript - Fire Event before 'focus' kicks in/Fire Event before keyboard appears on iOS

ios - 如果 Metal 内核使用变量索引将随机数写入 MTLBuffer - 数据危害?

objective-c - 为什么将 useSingleLineMode 设置为 YES 的 NSTextField 具有多行文本的固有内容大小?