15 Repos
Calculations used to shift the position of UI elements to avoid overlap with system overlays.
Distinct from View Matrix Calculators: Candidates focus on 3D camera matrices or web views; this is 2D coordinate-based view shifting for layout.
Explore 15 awesome GitHub repositories matching user interface & experience · Dynamic View Offsetting. Refine with filters or upvote what's useful.
IQKeyboardManager is an iOS keyboard management library and UI layout utility. It automatically adjusts screen layouts to prevent the software keyboard from covering text input fields. The project provides a customizable keyboard toolbar component with navigation buttons and action triggers. It enables focus management, allowing users to move between text fields via the return key or toolbar controls. The library covers keyboard layout coordination, including touch-based dismissal and offset configuration. It also includes a system for managing keyboard behaviors and appearance on a per-clas
Calculates the intersection between the keyboard frame and input fields to automatically offset the parent view.
SWTableViewCell is a UIKit component and library for adding interactive swipe-to-reveal action buttons to table view cells in iOS applications. It functions as a swipe action manager and a specialized interface element designed to handle touch gestures and sliding animations for list items. The library features a layout mechanism that automatically scales the size of action buttons to fit available screen space based on the number of buttons added. It uses a system to detect touch events that trigger specific actions or slide cells back to their original positions. The system manages the spa
Updates the horizontal position of cell content in real time based on touch coordinates.
This project is a React Native UI component for implementing swipeable tab navigation. It organizes mobile app content into category tabs that users navigate through horizontal gestures or direct interaction. The system synchronizes the movement of the tab indicator with the page scroll offset. It supports the integration of custom tab bars and provides the ability to maintain independent scroll positions for each individual page. Navigation can be managed programmatically, including the ability to define initial starting pages or disable gesture-based swiping. The component also includes tr
Implements the logic that translates raw scroll positions into the active tab index for synchronization.
Swipe is a JavaScript library for creating touch-based sliders and interactive carousels. It provides a gesture-based navigation tool for building swipeable content interfaces that support touch navigation on mobile and web browsers. The library distinguishes itself through the use of GPU-accelerated transitions and animation frames to ensure smooth motion. It implements a continuous looping effect, allowing content to wrap around seamlessly during navigation. The tool covers the synchronization of slide states with touch inputs and the execution of custom functions when transitions complete
Calculates the active slide index by translating continuous horizontal scroll offsets into discrete indices.
PageMenu ist ein iOS-Paging-Navigationscontroller und Composite-View-Controller-Manager. Er organisiert mehrere unabhängige View-Controller innerhalb einer Scroll-Ansicht, was es Benutzern ermöglicht, zwischen ganzseitigen Inhaltsansichten zu wischen. Das System verfügt über eine anpassbare Navigationsleiste mit segmentierter Steuerung, die auswählbare Segmente auf spezifische Inhaltsansichten abbildet. Diese Schnittstelle unterstützt die programmatische Navigation zu Seitenindizes und überwacht Seitenübergänge über ein Delegate-Pattern. Der Controller verwaltet das horizontale Seitenscrollen und die Organisation der View-Controller. Er enthält Funktionen zum Stylen der Menüoberfläche, zum Konfigurieren von Scroll-Animationen und zum Berechnen von Item-Breiten basierend auf der Textlänge.
Translates target page indices into exact pixel coordinates to animate the scroll view to a specific page.
snabbt.js is a JavaScript motion framework and CSS transform animation library used to create high-performance animations for DOM elements. It functions as a 3D CSS animation engine and a matrix-based geometry toolkit for calculating precise translations, rotations, scales, and skews. The framework provides a user-driven animation controller that allows animation progress to be tied to manual user input rather than standard time-based playback. It enables the simulation of depth and perspective by animating HTML elements into three-dimensional shapes. The system covers motion orchestration t
Calculates unique transform offsets for multiple elements based on their position to create staggered effects.
Dieses Projekt bietet eine Tab-Navigationskomponente für plattformübergreifende mobile Anwendungen. Sie fungiert als Navigationscontainer, der Inhalte in separate Ansichten organisiert und es Benutzern ermöglicht, über eine Tab-Leiste oder Wischgesten zwischen Bildschirmen zu wechseln. Die Komponente verfügt über ein anpassbares Tab-Leisten-Interface, das gebrandetes Styling, Icons, Badges und horizontales Scrollen unterstützt, um zahlreiche Navigationsziele unterzubringen. Sie enthält zudem ein verzögertes Rendering-System, das die Instanziierung von Tab-Szenen bis zum Erhalt des Fokus hinauszögert, um die initiale Ladezeit zu verbessern. Die Implementierung deckt das Management der Tab-Leiste und die Interaktionsabfangung ab, was eine benutzerdefinierte Logik zur Modifikation des Standard-Wechselverhaltens ermöglicht. Zusätzliche Funktionen umfassen die Steuerung der Tastaturinteraktion, um die Sichtbarkeit der Software-Tastatur während Szenenübergängen zu verwalten.
Implements calculations that translate scroll offsets into discrete page or tab indices.
SVPullToRefresh is a library for adding pull-to-refresh and infinite scrolling behaviors to UIKit scroll views on the iOS platform. It provides specialized user interface components that enable manual content refreshing and pagination within scrollable views. The library implements mechanisms to trigger data loading actions when a user pulls a scroll view from the top or reaches the bottom of a scrollable area. These triggers allow for syncing the latest information or appending more content to create continuous feeds.
Dynamically shifts the scroll view offset to create the visual rubber-band effect during pulls.
vue-virtual-scroll-list ist eine virtualisierte Listenimplementierung für Vue-Anwendungen. Sie bietet eine Komponente, die nur die sichtbaren Elemente eines großen Datensatzes rendert, um eine hohe Leistung zu wahren und die Anzahl aktiver DOM-Elemente zu begrenzen. Das Projekt fungiert als High-Performance-Listen-Renderer und dynamischer Viewport-Manager. Es berechnet in Echtzeit Listenabmessungen und Scroll-Offsets, um Tausende von Dateneinträgen anzuzeigen, ohne den Browser-Speicherverbrauch oder die Leistung zu beeinträchtigen. Das System enthält eine programmatische Scroll-Steuerung zur Navigation zu spezifischen Element-Indizes oder Pixel-Offsets. Es bietet zudem Hilfsprogramme zur Abfrage von Listenabmessungen, Viewport-Größe und individuellen Elementmaßen zur Verwaltung von Layout-Abständen.
Translates discrete data item indices into precise pixel offsets to determine visible element placement.
stroll.js ist eine Frontend-UI-Animationsbibliothek, die darauf ausgelegt ist, standardmäßige Web-Listen in dreidimensionale Scroll-Anzeigen zu verwandeln. Sie fungiert als Tool zur Erstellung tiefenbasierter Perspektiven unter Verwendung von CSS3-Transforms. Die Bibliothek ist auf 3D-Webanimationen und interaktives Listendesign spezialisiert. Sie implementiert visuelle Effekte, die auf Benutzerbewegungen reagieren und Listenelementen räumliche Tiefe und Perspektive verleihen, während durch sie navigiert wird.
Calculates unique animation offsets based on an item's position in the list to create staggered visual effects.
Dieses Projekt ist ein jQuery-Content-Slider zur Erstellung responsiver Bildergalerien und touch-fähiger Karussells. Es fungiert als barrierefreie UI-Komponente, die Bilder, Videos oder HTML-Inhalte mittels hardwarebeschleunigter Animationen anzeigt. Der Slider beinhaltet integrierte Unterstützung für Swipe-Gesten und Finger-Tracking für Touch-Geräte. Er integriert ARIA-Attribute wie Aria Live und Aria Hidden, um die Kompatibilität mit Screenreadern und die Barrierefreiheit für Nutzer assistiver Technologien zu gewährleisten. Das System bietet umfassende Layout- und Navigationsfunktionen, einschließlich konfigurierbarer Übergangsanimationen, Tastaturnavigation und Paginierung. Es unterstützt automatisierte Inhaltsrotation mit timer-basierten Übergängen und bietet programmatische Kontrolle über eine öffentliche API und Lifecycle-Event-Callbacks.
Calculates precise pixel offsets based on the active slide index for accurate positioning.
ViewPagerCards ist eine mobile Swipe-Navigationskomponente und ein gestenbasierter View-Pager, der verwendet wird, um horizontale, wischbare Karten-Layouts zu erstellen. Er fungiert als Onboarding-Karussell für Apps und als Interface zur Feature-Präsentation, um Benutzer durch eine lineare Sequenz von Bildschirmen zu führen. Die Komponente implementiert ein visuelles kartenbasiertes Layout, das darauf ausgelegt ist, Produktfunktionen zu demonstrieren. Sie ermöglicht die Erstellung interaktiver Feature-Showcases und einführender Onboarding-Erlebnisse innerhalb einer mobilen Anwendung.
Maps real-time horizontal drag displacement to specific page indices to trigger view switching.
Whisper is an in-app notification library and UI messaging framework for displaying transient status updates and alerts within a mobile application. It functions as a UI component framework that provides a set of reusable visual elements for managing temporary messages. The system includes a queue-based notification coordinator that manages the timing and sequence of messages to ensure they appear and disappear in a logical order. It also features a dynamic layout manager that automatically adjusts view insets and scroll offsets to prevent notification banners from obscuring critical on-scree
Implements calculations to shift UI element positions and avoid overlap with notification overlays.
TLYShyNavBar provides interface components for iOS that implement scroll-responsive navigation bars and dynamic header extensions. It consists of a navigation bar component that automatically hides or reveals itself based on scroll direction and distance to maximize screen real estate. The system includes a dynamic header extension for attaching custom views to the navigation bar. These extension views can resize, slide out of the viewport, or remain pinned as the user scrolls through primary content. The project covers navigation bar transition controls, including configurable fade styling
Calculates dynamic coordinate shifts for extension views based on the user's current scroll progress.
React-anime ist ein deklaratives Bewegungs-Framework, das darauf ausgelegt ist, Animationsfähigkeiten in komponentenbasierte Benutzeroberflächen zu integrieren. Es fungiert als Bibliothek zum Animieren von CSS-, SVG- und DOM-Eigenschaften durch das direkte Abbilden von Komponenteneigenschaften auf Animationszustände, was es Entwicklern ermöglicht, Bewegungen durch eine komponentenbasierte Architektur zu definieren. Die Bibliothek zeichnet sich durch ihre Fähigkeit aus, hierarchische Animationssequenzen und automatisierte Lebenszyklusübergänge zu verwalten. Sie bietet Tools zur Orchestrierung komplexer, verschachtelter Bewegungseffekte und handhabt das Erscheinen und Verschwinden von Elementen, wenn diese zur Oberfläche hinzugefügt oder daraus entfernt werden. Durch die Nutzung von Prop-gesteuertem Zustands-Mapping synchronisiert sie visuelle Bewegungen mit zugrunde liegenden Datenänderungen. Über grundlegende Übergänge hinaus unterstützt das Framework die Erstellung kaskadierender Effekte durch gestaffelte Timing- und Verzögerungsberechnungen. Es ermöglicht das Gruppieren mehrerer Animationscontainer, um synchronisierte Bewegungen über verwandte Interface-Elemente hinweg zu koordinieren. Das Projekt wird als TypeScript-basiertes Paket für die Verwendung innerhalb von Komponentenbäumen vertrieben.
Derives unique animation delays based on element indices to create sequential motion patterns.