Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/extensions/Variables/includes/ExtVariables.php on line 198
PSRootController: Difference between revisions - iPhone Development Wiki

PSRootController: Difference between revisions

From iPhone Development Wiki
m (Formatting.)
m (Unnecessary change inconsistent with standard)
 
Line 1: Line 1:
[[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.


= Subclassing =
== Subclassing ==


A subclass of PSRootController should override <tt>-setupRootListForSize:</tt>. According to how [[Preferences.app]] is implemented, the method should look like this:
A subclass of PSRootController should override <tt>-setupRootListForSize:</tt>. According to how [[Preferences.app]] is implemented, the method should look like this:
Line 25: Line 25:
</source>
</source>


= Using =
== Using ==


To add the root controller view to your app, use this code:
To add the root controller view to your app, use this code:
Line 40: Line 40:
</source>
</source>


= External links =
== External links ==


* 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

Latest revision as of 02:59, 11 April 2016

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

External links