Texteingabefelder mit Hilfe von UIPreferrencesTextTableCell |
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];
UIPreferencesTable * table = [[UIPreferencesTable alloc] initWithFrame: CGRectMake(0.0f, 42.0f, rect.size.width, rect.size.height - 42.0f)]; [table setDataSource:self]; [table setDelegate:self]; [mainView addSubview: titlebar];
// 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:
Ihren Kommentar hinzufügen
|
|
LAST_UPDATED2 |