Creating an instance
OBWelcomeController *exampleWelcomeController = [[OBWelcomeController alloc] initWithTitle:@"Example Title" detailText:@"Example Details" icon:[UIImage systemImageNamed:@"circle" contentLayout:2];
A few notes
- contentLayout:2 seems to be the only way to go. Other options appear to crash.
- You can use any regular UIImage. The system image is used here as an example.
- Outside of contentLayout, all arguments for initializing (and for adding an item - explained in the next section) can be nil. If an argument is nil, its corresponding view is not created, and OBWelcomeController adapts the spacing accordingly.
Adding items to the controller
[exampleWelcomeController addBulletedListItemWithTitle:@"Item 1" description:@"A nice-looking, responsive description." image:[UIImage systemImageNamed:@"app"]; [exampleWelcomeController addBulletedListItemWithTitle:@"Item 2" description:@"This can be as long as you want, as the view automatically sizes itself - even centering the icon for the item accordingly!" image:[UIImage systemImageNamed:@"plus.app"]; [exampleWelcomeController addBulletedListItemWithTitle:@"Item 3" description:@"Look at you, making fancy views. If only Apple would make this framework public." image:[UIImage systemImageNamed:@"app.badge"];
By default, the button tray has a blur effect behind it if the bulleted list goes past where the button tray would normally be. If you would rather have the button tray placed below the list, so that the user must scroll to see the button tray, just set:
exampleWelcomeController._shouldInlineButtonTray = YES;
This also removes the blur effect from the button tray.
Pushing the controller
[aViewController presentViewController:exampleWelcomeController animated:YES completion:nil];
For an in-depth example, view this example GitHub Gist by Simalary (Chris).