awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
CoderMJLee avatar

CoderMJLee/MJRefresh

0
View on GitHub↗
13,814 stars·3,526 forks·Objective-C·MIT·14 views

MJRefresh

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.

Features

  • Pull-to-Refresh Components - Provides UI components for implementing pull-to-refresh behaviors with customizable animations.
  • Scroll View Interaction Libraries - Provides a comprehensive toolkit for managing reload callbacks and loading states within scrollable mobile containers.
  • State-Driven Callbacks - Decouples scroll interaction from data fetching by triggering callbacks when internal state thresholds are reached.
  • Scroll-Position Event Triggers - Tracks real-time scroll coordinates to drive visual updates and trigger reload events.
  • Scroll-Offset Thresholds - Monitors scroll offsets to detect when a user has pulled far enough to trigger a refresh.
  • Infinite Scroll Components - Implements footers that automatically trigger data fetching when the user reaches the bottom of a list.
  • Infinite Scrolling - Implements UI patterns that automatically load additional content as the user reaches the bottom of a scrollable list.
  • State-Based Animation Systems - Cycles through animation frames or GIFs based on the internal state of the pull-to-refresh process.
  • Processing Sequence Animators - Plays specific image sequences or GIFs tailored to the current refresh status and pull progress.
  • Base-Class Feature Inheritance - Implements a hierarchy of base classes to share core scrolling logic across custom refresh headers and footers.
  • Dynamic UI Labels - Updates status indicator text and styling in real time based on the current refresh state.
  • Mobile Interaction Patterns - Provides technical implementations for managing the feel and responsiveness of mobile scroll view interactions.
  • Refresh Indicator Customizations - Enables the creation of bespoke refresh headers and footers tailored to specific visual branding.
  • UI Label Customizations - Supports customizing the text, font, and color of status labels to provide user feedback.

Star history

Star history chart for codermjlee/mjrefreshStar history chart for codermjlee/mjrefresh

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to MJRefresh

Similar open-source projects, ranked by how many features they share with MJRefresh.
  • mescroll/mescrollmescroll avatar

    mescroll/mescroll

    4,459View on GitHub↗

    mescroll is a JavaScript infinite scroll library and mobile web scroll manager designed to implement pull-to-refresh and pull-up-loading patterns. It provides a system for handling touch-based scrolling, managing pagination states, and integrating these behaviors within Vue applications. The library distinguishes itself through specialized support for chat interfaces, enabling reverse-order data loading and the ability to inject data in a reverse direction to simulate message histories. It also includes a state-persistent scroll cache to preserve vertical offsets and list data when users navi

    Vuebouncecss3html5
    View on GitHub↗4,459
  • russellsamora/scrollamarussellsamora avatar

    russellsamora/scrollama

    5,982View on GitHub↗

    Scrollama is a JavaScript library for scroll-driven storytelling that uses the browser's native IntersectionObserver API to trigger step-based callbacks and animations as the user scrolls through a page. It pins graphic elements using CSS sticky positioning while scrolling through associated text steps, enabling side-by-side narrative experiences without JavaScript-driven layout calculations. The library provides a configurable offset threshold system that accepts a single global offset or per-element data-attribute offsets to define the viewport position that triggers step events. It reports

    HTML
    View on GitHub↗5,982
  • legendapp/legend-listLegendApp avatar

    LegendApp/legend-list

    2,953View on GitHub↗

    Legend List is a high-performance list rendering library designed to display massive collections of data with varying item heights. It utilizes windowed virtualization and a measured-height cache to render only the visible portion of a list, preventing lag and maintaining a smooth frame rate. The library specializes in bidirectional infinite scrolling and stable scroll anchoring, which prevents visual jumps when content is prepended to the top of a list. It includes specific alignment capabilities to keep content pinned to the bottom, supporting the layout requirements of chat interfaces. To

    TypeScript
    View on GitHub↗2,953
  • sadmann7/shadcn-tablesadmann7 avatar

    sadmann7/shadcn-table

    6,172View on GitHub↗

    This project is a React data table component integrated with shadcn/ui. It provides a set of tabular data grids that support sorting, filtering, and pagination. The implementation includes a virtualizing data grid and an infinite scroll table, which allow for the rendering of large datasets by loading records incrementally or displaying only the items visible in the viewport. It also functions as a real-time collaborative table, enabling multiple users to manage and edit shared datasets simultaneously. The component covers interactive data management and complex data visualization. This incl

    TypeScript
    View on GitHub↗6,172
See all 30 alternatives to MJRefresh→

Frequently asked questions

What does codermjlee/mjrefresh do?

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.

What are the main features of codermjlee/mjrefresh?

The main features of codermjlee/mjrefresh are: Pull-to-Refresh Components, Scroll View Interaction Libraries, State-Driven Callbacks, Scroll-Position Event Triggers, Scroll-Offset Thresholds, Infinite Scroll Components, Infinite Scrolling, State-Based Animation Systems.

What are some open-source alternatives to codermjlee/mjrefresh?

Open-source alternatives to codermjlee/mjrefresh include: mescroll/mescroll — mescroll is a JavaScript infinite scroll library and mobile web scroll manager designed to implement pull-to-refresh… samvermette/svpulltorefresh — SVPullToRefresh is a library for adding pull-to-refresh and infinite scrolling behaviors to UIKit scroll views on the… sadmann7/shadcn-table — This project is a React data table component integrated with shadcn/ui. It provides a set of tabular data grids that… russellsamora/scrollama — Scrollama is a JavaScript library for scroll-driven storytelling that uses the browser's native IntersectionObserver… legendapp/legend-list — Legend List is a high-performance list rendering library designed to display massive collections of data with varying… xrecyclerview/xrecyclerview — XRecyclerView is an Android list component and extension library that adds pull-to-refresh and infinite scrolling…