# codermjlee/mjrefresh

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/codermjlee-mjrefresh).**

13,814 stars · 3,526 forks · Objective-C · MIT

## Links

- GitHub: https://github.com/CoderMJLee/MJRefresh
- awesome-repositories: https://awesome-repositories.com/repository/codermjlee-mjrefresh.md

## Topics

`objective-c` `refresh`

## Description

MJRefresh is a scroll view interaction library and a set of reusable UI components for implementing pull-to-refresh and infinite scrolling behaviors in mobile user interfaces. It provides customizable refresh indicators and controllers that manage reload callbacks and loading states within scrollable containers.

The library allows for the replacement of standard loading indicators with custom images, GIF sequences, and status labels to match specific visual branding. It includes a global configuration store to handle dynamic UI localization and the translation of refresh content across an application.

The toolkit covers a broad range of interaction capabilities, including infinite scroll pagination and mobile list interaction. It enables the creation of bespoke refresh headers and footers through a base-class inheritance model, allowing developers to manage refresh states and style status labels.

## Tags

### User Interface & Experience

- [Pull-to-Refresh Components](https://awesome-repositories.com/f/user-interface-experience/pull-to-refresh-components.md) — Provides UI components for implementing pull-to-refresh behaviors with customizable animations. ([source](https://cdn.jsdelivr.net/gh/codermjlee/mjrefresh@master/README.md))
- [Infinite Scroll Components](https://awesome-repositories.com/f/user-interface-experience/infinite-scroll-components.md) — Implements footers that automatically trigger data fetching when the user reaches the bottom of a list. ([source](https://cdn.jsdelivr.net/gh/codermjlee/mjrefresh@master/README.md))
- [Infinite Scrolling](https://awesome-repositories.com/f/user-interface-experience/infinite-scrolling.md) — Implements UI patterns that automatically load additional content as the user reaches the bottom of a scrollable list.
- [Dynamic UI Labels](https://awesome-repositories.com/f/user-interface-experience/layout-containers/dynamic-ui-labels.md) — Updates status indicator text and styling in real time based on the current refresh state.
- [Mobile Interaction Patterns](https://awesome-repositories.com/f/user-interface-experience/mobile-interaction-patterns.md) — Provides technical implementations for managing the feel and responsiveness of mobile scroll view interactions.
- [Refresh Indicator Customizations](https://awesome-repositories.com/f/user-interface-experience/progress-steps/refresh-indicator-customizations.md) — Enables the creation of bespoke refresh headers and footers tailored to specific visual branding. ([source](https://cdn.jsdelivr.net/gh/codermjlee/mjrefresh@master/README.md))
- [UI Label Customizations](https://awesome-repositories.com/f/user-interface-experience/ui-label-customizations.md) — Supports customizing the text, font, and color of status labels to provide user feedback. ([source](https://cdn.jsdelivr.net/gh/codermjlee/mjrefresh@master/README.md))

### Mobile Development

- [Scroll View Interaction Libraries](https://awesome-repositories.com/f/mobile-development/scroll-view-interaction-libraries.md) — Provides a comprehensive toolkit for managing reload callbacks and loading states within scrollable mobile containers.

### Software Engineering & Architecture

- [State-Driven Callbacks](https://awesome-repositories.com/f/software-engineering-architecture/event-driven-hook-systems/state-driven-callbacks.md) — Decouples scroll interaction from data fetching by triggering callbacks when internal state thresholds are reached.
- [Scroll-Position Event Triggers](https://awesome-repositories.com/f/software-engineering-architecture/scroll-position-event-triggers.md) — Tracks real-time scroll coordinates to drive visual updates and trigger reload events.

### System Administration & Monitoring

- [Scroll-Offset Thresholds](https://awesome-repositories.com/f/system-administration-monitoring/threshold-monitoring/scroll-offset-thresholds.md) — Monitors scroll offsets to detect when a user has pulled far enough to trigger a refresh.

### Graphics & Multimedia

- [State-Based Animation Systems](https://awesome-repositories.com/f/graphics-multimedia/media-production-suites/animation-tools/programmatic-animation-apis/state-transition-animators/state-based-animation-systems.md) — Cycles through animation frames or GIFs based on the internal state of the pull-to-refresh process.
- [Processing Sequence Animators](https://awesome-repositories.com/f/graphics-multimedia/processing-sequence-animators.md) — Plays specific image sequences or GIFs tailored to the current refresh status and pull progress.

### Programming Languages & Runtimes

- [Base-Class Feature Inheritance](https://awesome-repositories.com/f/programming-languages-runtimes/class-based-architecture/base-class-feature-inheritance.md) — Implements a hierarchy of base classes to share core scrolling logic across custom refresh headers and footers.
