Home Code-Schnipsel User Interface Texteingabefelder mit Hilfe von UIPreferrencesTextTableCell

iPhone Gewinnspiel

Texteingabefelder mit Hilfe von UIPreferrencesTextTableCell PDF Drucken E-Mail
Share
Benutzerbewertung: / 0
SchlechtesteBeste 
Geschrieben von: Philipp   
WEDNESDAY, 27 FEBRUARY 2008 12:07
Wer für seine Applikation eine Einstellungs-View mit Hilfe von UIPreferencesTable realisieren möchte, wird nicht um die Verwendung eines Texteingabefeldes drumherum kommen. Im folgenden wird erklärt, wie solch Texteingabefelder mit Hilfe von UIPreferencesTextTableCell realisiert werden:

Als erstes ersteinmal die benötigten Header importieren:
#import <UIKit/UIView.h>
#import <UIKit/UIPreferencesTable.h>
#import <UIKit/UIPreferencesTextTableCell.h>


Die Tabelle selber generieren (am besten in der init Methode der Klasse):
// das benötigte Rect

struct CGRect rect = [UIHardware fullScreenApplicationContentRect];

rect.origin.x = rect.origin.y = 0.0f;


// die benötigte view

UIView* mainView = [[UIView alloc] initWithFrame: rect];


// die benötigte UIPreferencesTable

UIPreferencesTable * table = [[UIPreferencesTable alloc] initWithFrame: CGRectMake(0.0f42.0frect.size.width, rect.size.height - 42.0f)];

[table setDataSource:self];

[table setDelegate:self];

// die table wird der view hinzugefügt

[mainView addSubview: titlebar];



Nun die neuen Zellen initialisieren - es werden hier drei Zellen erstellt, eine für normalen Text, eine als Passworteingabefeld und eine welche nur Zahlen aktzeptiert:
// normal
UIPreferencesTextTableCell * textCell = [[UIPreferencesTextTableCell alloc] initWithFrame:CGRectMake(0.0f, 0.0f, rect.size.width, 48.0f)]; [textCell setTitle:@"Text:"];
[textCell setPlaceHolderValue:@"erforderlich"];
[[textCell textField] setReturnKeyType:4]; // "Weiter"

// password UIPreferencesTextTableCell * passwordCell = [[UIPreferencesTextTableCell alloc] initWithFrame:CGRectMake(0.0f, 0.0f, rect.size.width, 48.0f)]; [passwordCell setTitle:@"Passwort:"];
        [passwordCell setPlaceHolderValue:@"erforderlich"];
[[passwordCell textField] setSecure:YES]; // Eingaben werden durch einen Punkt verschleiert 
        [[_passwordCell textField] setReturnKeyType:4]; // "Weiter"

// aktzeptiert nur zahlen
UIPreferencesTextTableCell * numberCell = [[UIPreferencesTextTableCell alloc] initWithFrame:CGRectMake(0.0f, 0.0f, rect.size.width, 48.0f)]; [numberCell setTitle:@"Nummer"];
[numberCell setPlaceHolderValue:@"nur Zahlen"];
[[numberCell textField] setReturnKeyType:0]; // "Return"

[[numberCell textField] setPreferredKeyboardType:7]; // nur die Nummern-Tastatur in schwarz

// Tabelle neu zeichnen
[table reloadData];

Zur Erklärung:
  • mit setTitle wird der sichtbare Titel festgelegt
  • mit setValue (im Code nicht aufgeführt) kann ein vorbelegter Text definiert werden
  • setPlaceHolderValue zeigt einen grauen Text, welcher sichtbar ist, wenn vom User noch kein Text eingegeben wurde, oder aber wenn mit setValue kein Text vorbelegt wurde
  • mit textField kann sich ein Object vom Type UITextField geholt werden, dadurch können u.a. Eigenschaften für das Keyboard festgelegt werden
  • bei setSecure:YES wird das UITextField der Zelle als ein Passwortfeld festgelegt, da jetzt Texteingaben durch einen Punkt verschleiert werden 
  • setPreferredKeyboardType definiert den zu verwendenden Keyboard-Typ - folgende Angaben sind dabei möglich:
    • 0 = Standard
    • 1 = Zahlen mit Punktnotationen
    • 2 = Zahlen wie beim Telefon KeyPad
    • 3 = zur Eingabe von URL's
    • 4 = zur Eingabe vom SMS
    • 5 = das gleiche wie bei 0, jedoch in schwarz
    • 6 = das gleiche wie bei 2, jedoch ohne die eingabe von "+" oder "*" etc.
    • 7 = wie 6 jedoch in schwarz
    • 8 = zur Eingabe von Email-Addressen
    • 9 = zur Eingabe von Email-Addressen, jedoch ist die Leeraum-Taste mit dem "@" belegt
  • setReturnKeyType definiert das Aussehen der Return-Taste auf dem Keyboard (falls vorhanden) - folgende Angaben sind dabei möglich (Die Textangaben variieren jenachdem welche Sprache auf dem iPhone aktiviert ist):
    • 0 = "Return" in grau
    • 1 = "Go" in blau
    • 2 = "Google" in blau
    • 3 = "Join" in blau
    • 4 = "Next" in grau
    • 5 = "Route" in blau
    • 6 = "Search" in blau
    • 7 = "Send" in blau
    • 8 = "Yahoo" in blau
 

Ihren Kommentar hinzufügen

Ihr Name:
Ihre Webseite:
Betreff:
Kommentar:
  Bild, welches den Sicherheitscode enthält
Sicherheitscode:
LAST_UPDATED2