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
PSEditingPane: Difference between revisions - iPhone Development Wiki

PSEditingPane: Difference between revisions

From iPhone Development Wiki
m (Formatting.)
m (Unnecessary change inconsistent with standard)
 
Line 1: Line 1:
[[PSEditingPane]] is a subclass of [[UIView]] that provides custom code, instead of via [[PSSpecifier]]s, to manage the user interface.  
[[PSEditingPane]] is a subclass of [[UIView]] that provides custom code, instead of via [[PSSpecifier]]s, to manage the user interface.  


= Editing pane in Specifier plist =
== Editing pane in Specifier plist ==


You may set the ''pane'' key of a specifier entry, so that when the specifier is tapped, your editing pane will be launched.
You may set the ''pane'' key of a specifier entry, so that when the specifier is tapped, your editing pane will be launched.
Line 23: Line 23:
</source>
</source>


= Built-in editing panes =
== Built-in editing panes ==


The following panes are built-in in [[Preferences.framework]]:
The following panes are built-in in [[Preferences.framework]]:
Line 37: Line 37:
* RingtonePane (Note that the ringtone will be played when selected.)
* RingtonePane (Note that the ringtone will be played when selected.)


= External links =
== External links ==


* Header: http://github.com/kennytm/iphone-private-frameworks/blob/master/Preferences/PSEditingPane.h
* Header: http://github.com/kennytm/iphone-private-frameworks/blob/master/Preferences/PSEditingPane.h

Latest revision as of 02:58, 11 April 2016

PSEditingPane is a subclass of UIView that provides custom code, instead of via PSSpecifiers, to manage the user interface.

Editing pane in Specifier plist

You may set the pane key of a specifier entry, so that when the specifier is tapped, your editing pane will be launched.

An edit pane class is useless unless the detail key is PSDetailController or its subclass is used. The edit pane itself is invoked in -[PSDetailController viewWillBecomeVisible:].

In general, the pane can be not a subclass of PSEditingPane, but it must be a subclass of UIView and conforms to the informal protocol:

@protocol PSEditingPane
+(CGSize)defaultSize;
+(UIColor*)defaultBackgroundColor;
-(void)setDelegate:(id)del;  // del usually is of type PSDetailController*
@property(retain) PSSpecifier* preferenceSpecifier;
@property(retain) id preferenceValue;
-(BOOL)handlesDoneButton;    // return NO if you don't need a custom routine to save changes.
-(BOOL)requiresKeyboard;
@optional
-(void)viewWillRedisplay;
@end

Built-in editing panes

The following panes are built-in in Preferences.framework:

  • PSMultiValueEditingPane (Include just a PSSegmentCell, useless by itself.)
  • PSTextEditingPane (A pane containing a text field and a keyboard.)

and the following in Preferences.app:

  • RegulatoryPane (A static image showing the device is FCC approved and in other countries as well.)
  • LegalMessagePane
  • TimeZonePane (Time zone selector. The returned value doesn't contain just time zone, but also city location.)
  • RingtonePane (Note that the ringtone will be played when selected.)

External links