创建一个完全自定义的UIRefreshControl

时间:2013-07-17 13:04:11

标签: ios objective-c uirefreshcontrol

我需要创建一个完全自定义的UIRefresh控件。动画,图像,下拉金额等......

我最初的想法是从头开始,使用UIViewController,添加我自己的视图,通过访问UIScrollViewDelegate方法进行动画制作。

我可以做到这一切但有一种方法可以稍微减少工作量并且更容易添加到多个UITableView吗?

是否有可能继承UIRefreshControl并在其中更改此数量的内容?

3 个答案:

答案 0 :(得分:3)

更新答案

  • GitHub项目更新到Swift 3.1
  • 将QuartzCode更新为版本 1.55.0(对生成的代码进行更改)
  • 代码重构为使用新的m[1]属性(introduced in iOS 10)(也更多" swifty"现在)。
  • 包括@ Hanny的建议(下面)(谢谢!)

我喜欢您发布的YouTube链接。 :)结果不错。

供参考:QuartzCode非常适合从头开始创建refreshControl动画。

查看this little project(GitHub)。 在其中,您将找到QuartzCode项目文件以及如何将其与UIRefreshControl集成的示例。

我认为其中最重要的部分是UITableView功能:

refresh

看看使用动画是多么容易:

/// Called everytime refresh control's value changes.
///
/// - parameter sender: The `UIRefreshControl` of this TableView.
@IBAction func refresh(_ sender: UIRefreshControl) {

    animate()

    // In this "demo", the refresh will last 5.0 seconds.
    DispatchQueue.main.asyncAfter(deadline: .now() + 5) {

        // Do something with the retrieved data...
        // TODO

        // ... then end the refresh operation.
        self.refreshControl?.endRefreshing()

        // Stop animations.
        self.stopAnimations()
    }
}

干杯!

答案 1 :(得分:1)

EGOTableViewPullRefresh非常棒“拉下来刷新”功能。它可以在github上找到。您可以自定义您的照片,行为等。 UIRefreshControl仅适用于iOS 6.0及更高版本。 EGOTableViewPullRefresh可以在iOS 5及更早版本中使用!

答案 2 :(得分:0)

我们有一个教程,其中包含Objective-C和Swift中的示例代码,用于实现Custom Pull to Refresh控件。您可以在此处找到它:http://www.jackrabbitmobile.com/design/ios-custom-pull-to-refresh-control/

希望有帮助,如果您有任何问题请与我联系!

- 安东尼