whatisgithub

What is xlform?

xmartlabs/xlform — explained in plain English

Analysis updated 2026-06-26

5,742Objective-CAudience · developerComplexity · 2/5Setup · easy

In one sentence

iOS library that lets you build complex forms by describing them in code rather than wiring up table views manually. No longer receiving new features, use Eureka, the Swift rewrite, for new projects.

Mindmap

mindmap
  root((XLForm))
    What It Does
      Form building
      Table view automation
      Conditional rows
    Row Types
      Text fields
      Date pickers
      Toggle switches
      Dropdown selectors
    Features
      Validation
      Field navigation
      Read only mode
      Predicate conditions
    Notes
      Objective-C and Swift
      CocoaPods install
      Eureka is successor
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a multi-section settings screen for an iOS app without manually managing table view data sources and cell layouts.

USE CASE 2

Create a sign-up form with conditional rows that show or hide automatically based on what the user has already entered.

USE CASE 3

Add form validation to a data-entry screen and handle navigation between input fields without writing custom logic.

What is it built with?

Objective-CSwiftiOSCocoaPods

How does it compare?

xmartlabs/xlformpokeb/asi-http-requestresearchkit/researchkit
Stars5,7425,7345,721
LanguageObjective-CObjective-CObjective-C
Setup difficultyeasymoderatemoderate
Complexity2/52/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

XLForm no longer receives new features, use Eureka, the actively maintained Swift rewrite, for any new iOS projects.

So what is it?

XLForm is an iOS library that makes it much faster to build forms in mobile apps. If you have ever built a settings screen, a sign-up page, or any kind of data-entry form in an iPhone or iPad app, you know how much repetitive code is involved in wiring up each input field, handling layout, and managing validation. XLForm aims to reduce that work significantly by letting you describe the form's structure in code rather than building it piece by piece. Instead of manually managing table view rows and sections, you define your form using a set of descriptor objects: one for the overall form, one for each section, and one for each row. You specify what type of input each row should present (text field, date picker, toggle switch, dropdown selector, and so on), and XLForm builds the corresponding UI automatically. When you change the definition at runtime, the interface updates itself, so rows can appear or disappear based on what the user has already entered, without you writing any of that conditional display logic by hand. The library supports a wide range of built-in row types, custom row types, form validation, navigation between fields, and read-only mode for individual rows or the entire form. Rows can be shown or hidden based on the values of other rows using predicates, which are a built-in iOS way of expressing conditions. An important note from the README: XLForm is no longer receiving new features. The same team has rewritten it in Swift under the name Eureka, which the README recommends for any new projects. XLForm still receives fixes for critical bugs and remains usable, but Eureka is the actively maintained successor with more capabilities. The library is available through CocoaPods, the standard iOS package manager. The README includes code examples in both Objective-C and Swift, along with a working example app in the repository. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
Using XLForm in Objective-C, show me how to create a form with a text field section, a date picker row, and a dropdown selector row.
Prompt 2
How do I use XLForm predicates to show a row only when the user has selected a specific option in another row earlier in the form?
Prompt 3
With XLForm, how do I add validation so required fields are checked before the user submits and display an error message for missing fields?
Prompt 4
Show me the CocoaPods setup for XLForm and a minimal working example that defines a form with two sections and puts it in a view controller.

Frequently asked questions

What is xlform?

iOS library that lets you build complex forms by describing them in code rather than wiring up table views manually. No longer receiving new features, use Eureka, the Swift rewrite, for new projects.

What language is xlform written in?

Mainly Objective-C. The stack also includes Objective-C, Swift, iOS.

How hard is xlform to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is xlform for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.