35 repository-uri
Tools and DSLs for constructing user interfaces and managing constraints.
Explore 35 awesome GitHub repositories matching part of an awesome list · Layout Frameworks. Refine with filters or upvote what's useful.
SnapKit is a declarative layout library and domain-specific language for managing user interface constraints and view relationships in Swift. It serves as a programmatic framework for positioning and sizing interface elements on iOS and macOS by wrapping native Auto Layout calls in a concise syntax. The library provides a fluent interface that translates high-level descriptive language into imperative layout rules. It differentiates itself through automatic constraint tracking and lifecycle management, allowing for the bulk removal and replacement of positioning rules without manual tracking
Swift-native DSL for Auto Layout.
Yoga is an embeddable UI layout library and engine that implements the flexible box model used in web standards. It functions as a cross-platform tool for computing user interface geometry, calculating element sizes and positions without relying on a specific operating system's rendering. The engine provides a portable C++ core to ensure identical layout calculations across Android, iOS, and the web. It utilizes an abstract node interface to separate the layout logic from the host UI framework, allowing it to be integrated into native applications. The system manages interface rendering thro
Core layout engine implementing the Flexbox specification.
Masonry is a declarative UI layout engine and domain-specific language for defining layout constraints on iOS and macOS. It serves as a wrapper for native Apple layout constraints, providing a system for positioning views on a screen by declaring rules and priorities. The library implements a fluent interface that uses chainable method calls to define complex screen layouts. This approach replaces native configuration calls with an expressive syntax for generating layout rules. The engine includes capabilities for managing constraint priorities to resolve layout conflicts and tools for updat
Chainable and expressive syntax for Auto Layout constraints.
UITableView-FDTemplateLayoutCell is a specialized table view cell component for iOS designed to automatically calculate and manage dynamic row heights based on content constraints. It provides a programmatic implementation for determining cell dimensions using auto layout to ensure content fits without requiring manual height overrides. The project utilizes a template-cell sizing mechanism that employs a hidden cell instance to calculate dimensions without triggering the actual table view rendering process. To maintain scrolling performance in long lists, it includes a caching system that sto
Automatic height calculation for table view cells.
Flexboxgrid is a responsive CSS framework and layout engine based on CSS3 standards. It provides a grid system that uses the flexbox model to arrange page elements into flexible, proportional grids that adapt to different screen sizes and device resolutions. The framework implements a float-free responsive design, utilizing a media-query breakpoint system to adjust layouts and column counts based on viewport width. It employs percentage-based column sizing and negative-margin guttering to maintain consistent spacing and fluid scaling across various displays. The system maps layout configurat
A responsive grid system based on flexbox.
PureLayout is a declarative layout framework and Auto Layout wrapper library used for positioning views and managing constraints in iOS and macOS applications. It provides a programmatic engine for building user interfaces through constrained-based positioning and priority levels. The framework utilizes a fluent-interface API design and wrapper-based abstractions to simplify the definition of layout constraints. It features deferred and batch constraint activation to group multiple rules together for simultaneous application to the view hierarchy. The project covers general Auto Layout manag
Simple and powerful API for Auto Layout constraints.
Cartography is a declarative layout engine and constraint management framework for Swift. It provides a domain-specific language to define, group, and prioritize user interface layout rules, abstracting the process of positioning and aligning visual components. The framework distinguishes itself through a fluent API and the use of overloaded operators to define relationships between view attributes. It enables the bundling of multiple layout rules into single units, allowing for the dynamic swapping of constraint groups at runtime to transition views between different positional states. The
Declarative DSL for managing Auto Layout constraints.
Neon este un framework Swift pentru layout UI programatic care orchestrează elementele interfeței printr-un motor de poziționare relativă. Acesta calculează dimensiunile și pozițiile view-urilor la runtime pentru a crea interfețe utilizator responsive fără a utiliza constrângeri, arcuri, strut-uri sau limbaj de format vizual. Sistemul organizează elementele în stack-uri și grupuri folosind un orchestrator bazat pe coordonate care rezolvă regulile de aliniere între componentele sibling și părinte. Utilizează o abordare de mapare a coordonatelor bazată pe reguli pentru a traduce descriptorii de aliniere de nivel înalt în coordonate absolute pe ecran. Framework-ul oferă capabilități pentru ancorarea superview-urilor, umplerea spațiului containerului și calcule dinamice de tip „size-to-fit”. De asemenea, suportă alinierea relativă a view-urilor și organizarea elementelor sibling în stack-uri orizontale sau verticale aliniate la margini, colțuri sau centre.
Programmatic UI layout framework for Swift.
MyLinearLayout este un framework de layout UI Objective-C și un motor de layout responsiv pentru iOS. Acesta servește drept orchestrator de vizualizări multi-pattern care organizează elementele de interfață folosind o combinație de modele de layout liniare, relative și de tip grid. Biblioteca aduce comportamentul CSS flexbox și elementele flotante către vizualizările iOS pentru distribuția dinamică a spațiului. Include un sistem dedicat pentru orientările de limbă de la dreapta la stânga (RTL), oferind oglindirea automată a elementelor de interfață pentru a suporta layout-uri localizate. Framework-ul acoperă o gamă largă de strategii de aranjare, inclusiv wrapping-ul elementelor bazat pe flux, stivuirea vizualizărilor bazată pe frame-uri și organizarea în tabele și grid-uri. De asemenea, suportă aranjamente organice prin alinierea vizualizărilor bazată pe căi și oferă clase de dimensiune adaptive pentru a se potrivi diferitelor dimensiuni și orientări ale ecranelor dispozitivelor.
Powerful UI framework supporting various layout paradigms.
Bond este un framework de data binding pentru Swift conceput pentru a sincroniza modelele de date și elementele interfeței utilizator prin fluxuri de valori unidirecționale și bidirecționale. Acesta funcționează ca o suită reactivă pentru monitorizarea schimbărilor în colecții, transformarea fluxurilor de date și conectarea evenimentelor interfeței utilizator la modelele de date. Proiectul oferă un bridge reactiv care transformă interacțiunile interfeței utilizator și apelurile metodelor delegate de protocol în semnale observabile. Include un observator de colecții pentru a monitoriza schimbările în array-uri și un procesor de flux de date funcțional care aplică operatori pentru a modifica sau combina valorile înainte ca acestea să ajungă la un element de interfață țintă. Framework-ul acoperă domenii largi de capabilități, inclusiv sincronizarea la nivel de proprietate, binding-ul automat al surselor de date pentru table și collection view-uri, și conversia invocărilor metodelor delegate în evenimente de semnal asincrone.
Type-safe binding framework for reactive UI updates.
TinyConstraints este un motor de layout UI declarativ și un framework de poziționare bazat pe constrângeri, conceput pentru a simplifica definirea constrângerilor de view, a relațiilor spațiale și a dimensiunilor elementelor. Acesta funcționează ca o bibliotecă wrapper de auto layout care permite poziționarea elementelor prin ancore relaționale și reguli de dimensionare bazate pe prioritate. Sistemul permite designul de interfață adaptiv prin suportarea stivuirii personalizate a view-urilor în secvențe orizontale sau verticale și utilizarea offset-urilor pentru alinierea precisă a marginilor și centrare. De asemenea, suportă animații dinamice de interfață prin actualizarea constrângerilor de layout și a valorilor constante pentru a face tranziția între diferite stări de view. Framework-ul acoperă capabilități mai largi de gestionare a layout-ului, inclusiv definirea dimensiunilor view-urilor, relaționarea ancorelor de view și gestionarea stărilor de constrângere pentru a declanșa actualizări vizuale.
Syntactic sugar for cleaner Auto Layout code.
:leaves: Concise Autolayout code
Elegant and readable view layout library.
Fast Swift Views layouting without auto layout. No magic, pure code, full control and blazing fast. Concise syntax, intuitive, readable & chainable. iOS/macOS/tvOS/CALayer
High-performance manual layout engine without Auto Layout.
A declarative UI framework for iOS
Declarative framework for building user interfaces.
FlexLayout adds a nice Swift interface to the highly optimized facebook/yoga flexbox implementation. Concise, intuitive & chainable syntax.
Chainable syntax wrapper for the flexbox layout engine.
The most powerful Grid container missed in SwiftUI
Powerful grid container for SwiftUI layouts.
Auto Layout made easy
Simplified syntax for managing Auto Layout.
UIView category which makes it easy to create layout constraints in code
Category for creating layout constraints in code.
Flexbox in Swift, using Facebook's css-layout.
Flexbox implementation for Swift.
Programmatic view layout for the rest of us.
Programmatic alternative to standard Auto Layout.