PSEditingPane

From iPhone Development Wiki
Revision as of 02:58, 11 April 2016 by Uroboro (talk | contribs) (Unnecessary change inconsistent with standard)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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