Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. Façade

Façade

MITObjective-Cv1.1.1

A lightweight UIView category for programmatic iOS layout using human-readable convenience methods.

GitHubGitHub
684 stars47 forks0 contributors

What is Façade?

Façade is a lightweight UIView category for iOS that provides human-readable convenience methods to programmatically layout user interfaces without Auto Layout. It wraps complex frame algebra into intuitive APIs, allowing developers to build responsive UIs quickly and define unique layouts for different device orientations.

Target Audience

iOS developers who prefer programmatic UI construction over Interface Builder or Auto Layout, and need a simple, readable way to handle view positioning and responsive design.

Value Proposition

Developers choose Façade for its straightforward, verbose API that eliminates the tedium of manual frame calculations, offers flexibility for orientation-specific layouts, and integrates easily into existing view lifecycle methods without the overhead of Auto Layout constraints.

Overview

Programmatic view layout for the rest of us.

Use Cases

Best For

  • Building programmatic iOS interfaces without Auto Layout
  • Creating responsive UIs that adapt to device orientation
  • Grouping and arranging views like share buttons or toolbars
  • Positioning views relative to siblings with minimal code
  • Anchoring views to screen edges or centers with precise padding
  • Simplifying view layout in legacy Objective-C projects

Not Ideal For

  • Teams adopting SwiftUI or modern Auto Layout with constraint-based design
  • New projects requiring long-term maintenance and iOS version compatibility
  • Apps with highly dynamic, complex layouts beyond common mobile UI patterns

Pros & Cons

Pros

Human-Readable API

Uses explicit method names like anchorTopCenterFillingWidthWithLeftAndRightPadding, making layout code self-explanatory and reducing reliance on documentation.

Orientation Support

Allows defining unique layouts for different device orientations by placing code in viewWillLayoutSubviews, enabling responsive design without extra complexity.

View Grouping

Simplifies arranging arrays of views horizontally or vertically with consistent spacing, as shown in the share buttons example, allowing easy reorganization.

Lightweight Frame Wrapping

Wraps tedious frame calculations into intuitive methods, providing a flexible alternative to Auto Layout for programmatic UI construction.

Cons

Project Abandonment

Explicitly stated as no longer under active development, meaning bugs won't be fixed, pull requests ignored, and future iOS support is uncertain.

Limited Layout Coverage

The README admits it doesn't cover every layout scenario and makes assumptions, which may fall short for complex or niche UI requirements.

Verbose API Overhead

Designed for readability over succinctness, leading to lengthy method names that can increase code volume and reduce maintainability in large projects.

Frequently Asked Questions

Quick Stats

Stars684
Forks47
Contributors0
Open Issues0
Last commit8 years ago
CreatedSince 2015

Tags

#ios#objective-c#programmatic-ui#mobile-development#cocoapods#ui-layout#carthage#uikit

Built With

C
Carthage
U
UIKit
O
Objective-C
C
CocoaPods

Included in

iOS51.7k
Auto-fetched 13 hours ago

Related Projects

SnapKitSnapKit

A Swift Autolayout DSL for iOS & OS X

Stars20,342
Forks2,044
Last commit11 days ago
YogaKitYogaKit

Yoga is an embeddable layout engine targeting web standards.

Stars18,837
Forks1,546
Last commit20 hours ago
MasonryMasonry

Harness the power of AutoLayout NSLayoutConstraints with a simplified, chainable and expressive syntax. Supports iOS and OSX Auto Layout

Stars18,148
Forks3,148
Last commit3 years ago
FDTemplateLayoutCellFDTemplateLayoutCell

Template auto layout cell for automatically UITableViewCell height calculating

Stars9,865
Forks1,985
Last commit4 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub