iBureaucrat 0.0.12

iBureaucrat 0.0.12

LangLanguage Obj-CObjective C
License Apache 2
ReleasedLast Release Dec 2014

Maintained by Unclaimed.




powered by Segment

  • By
  • Jasper Blues

A forms library for iOS.


  • Update: The QuickDialog project looks very promising. .
  • iPad not yet supported (though this will be very simple to add).

Form Edit


Nobody likes filling out forms. Or making them. iBureaucrat lets you rapidly create forms for you iOS apps - so you can get back to the fun stuff.

Using tableviews is the defacto standard way to layout forms for iOS, and they look great. But for every project there's a lot of boiler-plate code to set up - different kinds of table-view cells, custom input views, automatically scrolling to accommodate the keyboard/inputview, etc. . It ends up being the same old plumbing code over and over.

There are a few fantastic forms libraries for iOS. This one attempts to be:

  • Simple and fast to set up forms.
  • Easy to customize by defining new types, look-and-feel, etc.


Create a view controller

  • Create a view controller
  • Add a BCFormView to the view controller's view.
  • Give the BCFormView a form, as follows:
- (void)viewDidLoad
    [super viewDidLoad];
    FundsTransferView* view = (FundsTransferView*) self.view;

    _form = [BCForm new]; //Using default colors.
    _form.delegate = self;
    [_form addSection:[self createTransportDetailsSection]];
    [_form addSection:[self createDetailsSection]];

    view.formView.form = _form;

- (BCFormSection*)createTransportDetailsSection
    BCFormSection* transportDetailsSection = [BCFormSection sectionWithTitle:@"Transport Details"];
    _sendBy = [BCPickerField fieldWithLabel:@"Send by"];
    [_sendBy addOption:[Vehicle vehicleWithName:@"Horse" traits:@"grain tax"]];
    [_sendBy addOption:[Vehicle vehicleWithName:@"Scoundrel" traits:@"reliable"]];
    [_sendBy addOption:[Vehicle vehicleWithName:@"Ship" traits:@"not good over-land"]];

    _notes = [BCTextField fieldWithLabel:@"Notes"];
    [transportDetailsSection addFields:@[_sendBy, _notes]];
    return transportDetailsSection;

Add Delegate methods if you like:

#pragma mark <BCFormDelegate>

- (void)didSelectDone
    NSLog(@"Delegate call for done. Field: %@", [_sendBy value]);

- (void)didSelectPreviousField
    NSLog(@"Delegate call for previous");

- (void)didSelectNextField
    NSLog(@"Delegate call for next");

Creating your own types


  • iBureaucrat is availble via CocoaPods (recommended)
  • Otherwise, copy the source files to your project directory. Add the QuartzCore and CoreGraphics frameworks.


With contributions from:

  • John Doran - various improvements.
  • Your name here!!!!!!!



Apache License, Version 2.0, January 2004, http://www.apache.org/licenses/

© 2012 - 2013 Jasper Blues and contributors.