Difference between revisions of "OBWelcomeController"

From iPhone Development Wiki
Jump to: navigation, search
(Inline button tray)
m (Adding items to the controller: grammar)
(3 intermediate revisions by the same user not shown)
Line 9: Line 9:
  
 
- You can use any regular UIImage. The system image is used here as an example.
 
- You can use any regular UIImage. The system image is used here as an example.
 +
 +
- Outside of <tt>contentLayout</tt>, 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==
 
==Adding items to the controller==
 
<source lang="objc">
 
<source lang="objc">
 
[exampleWelcomeController addBulletedListItemWithTitle:@"Item 1" description:@"A nice-looking, responsive description." image:[UIImage systemImageNamed:@"app"];
 
[exampleWelcomeController addBulletedListItemWithTitle:@"Item 1" description:@"A nice-looking, responsive description." image:[UIImage systemImageNamed:@"app"];
[exampleWelcomeController addBulletedListItemWithTitle:@"Item 2" description:@"It can be as long as you want - the view will auto-resize, and even center the icon for the item!" image:[UIImage systemImageNamed:@"plus.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"];
 
[exampleWelcomeController addBulletedListItemWithTitle:@"Item 3" description:@"Look at you, making fancy views. If only Apple would make this framework public." image:[UIImage systemImageNamed:@"app.badge"];
 
</source>
 
</source>
Line 19: Line 23:
 
==Managing the button tray==
 
==Managing the button tray==
 
===Inlining the button tray===
 
===Inlining the button tray===
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, just set:
+
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:
 
<source lang="objc">
 
<source lang="objc">
 
exampleWelcomeController._shouldInlineButtonTray = YES;
 
exampleWelcomeController._shouldInlineButtonTray = YES;
 
</source>
 
</source>
 +
 +
This also removes the blur effect from the button tray.
  
 
==Pushing the controller==
 
==Pushing the controller==

Revision as of 07:02, 30 June 2020

OBWelcomeController is a view controller subclass in OnBoardingKit.framework.

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"];

Managing the button tray

Inlining the button tray

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];