Benutzer-Werkzeuge

Webseiten-Werkzeuge


apple:uikit:start

UIKit

UIKit ist ein Framework von Apple für iOS indem alle Komponenten für User Interfaces (UI) enthalten sind, wie z.B. Buttons oder Text-Felder aber auch Views ganz allgemein.

UITableView

Ein UITableView ist ein komplexerer View zur tabellarischen Darstellung von Daten. UITableViews werden aber auch gerne zur Darstellung linearer User Interfaces verwendet.

Statischer UITableView

Möchte man einen UITableView nicht dynamisch mit Daten befüllen, sondern ihn mit statischen Daten füttern oder ihn als Eingabe-Formular verwenden, muss man den Zellen-Typ im Storyboard-Editor im Attribute Inspector in der Utility-Palette unter „Content“ von „Dynamic Prototypes“ auf „Static Cells“ ändern.

Zudem müssen im dazugehörigen TableViewController (der ggf. erst später erstellt wird) die Methoden numberOfSectionsInTableView: und tableView:numberOfRowsInSection: unter „Table view data source“ komplett gelöscht werden!

#pragma mark - Table view data source
 
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
#warning Potentially incomplete method implementation.
    // Return the number of sections.
    return 0;
}
 
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
#warning Incomplete method implementation.
    // Return the number of rows in the section.
    return 0;
}

Sobald diese beiden Methoden im TableViewController vorhanden sind, geht iOS davon aus, dass man, auch wenn man im Storyboard etwas anderes eingestellt hat, doch keine statischen UITableView sondern dynamische Zellen werden möchte und ignoriert komplett die, im Storyboard konfigurierten, statischen Zellen und deren Inhalte.

UITextField

Das UITextField ist ein einzeiliges Text-Feld zum bearbeiten eines Texts.

Zum nächsten UITextField springen

Wenn in einem View mehrere UITextFields vorhanden sind, z.B. bei einem Login eines für den User-Namen und eines für das Passwort, dann möchte man mit i.d.R. mit einem Tap auf die Enter-Taste der Tastatur zum nächsten Text-Feld springen. Damit dies funktioniert muss der „First Responder“ weitergereicht werden:

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
	if ( textField == self.fooTextField ) {
		// Jump to the next UITextField
		[self.barTextField becomeFirstResponder];
	} else if ( textField == self.barTextField ) {
		// Jump to the next UITextField
		[self.foobarTextField becomeFirstResponder];
	} else {
		// Hide keyboard
		[textField resignFirstResponder];
	}
 
	return YES;
}

Hinweis: Das Beispiel geht davon aus, dass der ViewController als UITextFieldDelegate konfiguriert ist und Outlets für die drei UITextFields (fooTextField, barTextField und foobarTextField) erstellt wurden.

Quelle: FlexiCoder Blog: iPhone keyboard automatically move to the next TextField when "next" is pressed

apple/uikit/start.txt · Zuletzt geändert: 2015-02-28 07:16 von a.kamola