QuickDialog (http://escoz.com/open-source/quickdialog).
Showing a dialog:
NSDictionary *dataDict = @{'title':'example', 'other':'other text'};
QRootElement *root = [[QRootElement alloc] initWithJSONFile:@"file" andData:dataDict];
QuickDialogController *myDialogController = [QuickDialogController controllerForRoot:root];
[self presentModalViewController:navigation animated:YES];
example json form definition file to match: {
"grouped": true,
"title": "Example QuickDialog Form",
"controllerName": "QuickDialogController",
"sections": [
{
"elements": [
{
"type": "QEntryElement",
"title": "Title",
"placeholder": "item title",
"bind": "textValue:title" },
{ "type": "QMultilineElement",
"title": "Other info",
"bind": "textValue:other" }
]
}
]
}
data from dataDict is merged into the fields defined in the json definition file, using the bindings specified in the 'bind' property.It's really awesome, and makes all kinds of dynamic views possible. I was skeptical at first (as I am about most cocoa libraries) but I'm pretty sold on it since I gave it a fair shot.