PSRootController: Difference between revisions

From iPhone Development Wiki
m (Move the occlass template down to the bottom, include the navbox.)
m (Actually include the navbox this time.)
Line 40: Line 40:
* Header: http://github.com/kennytm/iphone-private-frameworks/blob/master/Preferences/PSRootController.h
* Header: http://github.com/kennytm/iphone-private-frameworks/blob/master/Preferences/PSRootController.h


{{occlass|library=Preferences.framework}}
{{occlass|library=Preferences.framework|navbox=1}}

Revision as of 20:09, 5 February 2012

PSRootController is an abstract class that represents the root controller in a Preferences-like application.

Subclassing

A subclass of PSRootController should override -setupRootListForSize:. According to how Preferences.app is implemented, the method should look like this:

@interface MyRootController : PSRootController
@end
@implementation MyRootController
-(void)setupRootListForSize:(CGSize)size {
	PSSpecifier* spec = [[PSSpecifier alloc] init];
		
	PSListController* root = [[myFirstListController alloc] initForContentSize:size];
	[spec setTarget:root];
	root.rootController = self;
	[root viewWillBecomeVisible:spec];
	[spec release];
	root.parentController = self;
	
	[self pushController:root];
	[root release];
}
@end

Using

To add the root controller view to your app, use this code:

-(void)applicationDidFinishLaunching:(UIApplication *)application {
...
	window.frame = [UIScreen mainScreen].applicationFrame;
...
	MyRootController* rootCtrler = [[MyRootController alloc] initWithTitle:@"Some Title" identifier:@"com.yourcompany.appName"];
	[window addSubview:[rootCtrler contentView]];
...
}

References