The iOS framework that grows only as fast as its documentation
Table Cell Catalog


class  NIDrawRectBlockCellObject
 An object that will draw the contents of the cell using a provided block. More...
class  NITitleCellObject
 An object for displaying a single-line title in a table view cell. More...
class  NISubtitleCellObject
 An object for displaying two lines of text in a table view cell. More...
class  NITextCell
 A general-purpose cell for displaying text. More...
class  NIDrawRectBlockCell
 A cell that renders its contents using a block. More...
class  NIFormElement
 A single element of a form with an ID property. More...
class  NITextInputFormElement
 A text input form element. More...
class  NISwitchFormElement
 A switch form element. More...
class  NISliderFormElement
 A slider form element. More...
class  NISegmentedControlFormElement
 A segmented control form element. More...
class  NIDatePickerFormElement
 A date picker form element. More...
class  NIFormElementCell
 The base class for form element cells. More...
class  NITextInputFormElementCell
 The cell sibling to NITextInputFormElement. More...
class  NISwitchFormElementCell
 The cell sibling to NISwitchFormElement. More...
class  NISliderFormElementCell
 The cell sibling to NISliderFormElement. More...
class  NISegmentedControlFormElementCell
 The cell sibling to NISegmentedControlFormElement. More...
class  NIDatePickerFormElementCell
 The cell sibling to NIDatePickerFormElement. More...


This is a catalog of Nimbus' pre-built cells and objects for use in UITableViews.

All of these cells are designed primarily to be used with the Nimbus cell factory, though it is entirely possible to use the cells in a vanilla UIKit application as well.

Form Element Catalog

Building forms with Nimbus is incredibly easy thanks to the pre-built form elements. The available form elements are listed below.

Form elements require an element ID that can be used to differentiate between the form elements, much like in HTML. If you are using the table cell factory then the element ID will be assigned to the cell's view tag and the control tags as well. Let's say you want to add a text input element that is disabled under certain conditions. Your code would look something like the following:

// In your model, create an element with the delegate provided.
[NITextInputFormElement elementWithID:kUsernameField placeholderText:@"Username" value:nil delegate:self],
// And then implement the UITextFieldDelegate
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
if (textField.tag == kUsernameField) {
return NO;
return YES;


NITextInputFormElement => NITextInputFormElementCell

Example use in a NITableViewModel:

// Create a text input field.
[NITextInputFormElement textInputElementWithID:kUsernameField placeholderText:@"Username" value:nil],
// Create a password input field
[NITextInputFormElement passwordInputElementWithID:kPasswordField placeholderText:@"Password" value:nil],


NISwitchFormElement => NISwitchFormElementCell

Example use in a NITableViewModel:

[NISwitchFormElement switchElementWithID:kPushNotifications labelText:@"Push Notifications" value:NO],