PSRootController: Difference between revisions

From iPhone Development Wiki
(Created page with '{{occlass|library=Preferences.framework}} PSRootController is an abstract class that represents the root controller in a Preferences-like application. == Subclassing == A s…')
 
m (Move the occlass template down to the bottom, include the navbox.)
Line 1: Line 1:
{{occlass|library=Preferences.framework}}
[[PSRootController]] is an abstract class that represents the root controller in a Preferences-like application.
[[PSRootController]] is an abstract class that represents the root controller in a Preferences-like application.


Line 41: Line 39:
== References ==
== References ==
* 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}}

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