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
(Created page with 'PSEditingPane is a subclass of UIView that provides custom code, instead of via PSSpecifiers, to manage the user interface. == Editing pane in Specifier plist == Yo…')
 
Line 20: Line 20:
@end
@end
</source>
</source>
== 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.)


== References ==
== References ==
{{IPFHeader|Preferences}}
{{IPFHeader|Preferences}}

Revision as of 08:20, 22 November 2009

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.)

References