2010-12-18 4 views
0

Code wie kann ich so etwas in einer iPhone App tun?Wie man eine "Nummernblock" wie Call-Anwendung

iphone app screenshot

Ich brauche eine Nummer eingeben, aber ich möchte so etwas, nicht eine einfache UITextField.

Wie?

Danke!

+0

Sie müssen genauer sein - wohin geht diese Nummer? Wenn Sie kein UITextField haben möchten, was wird das Benutzerfeedback für die eingegebenen Zahlen anzeigen? Es würde auch helfen, wenn Sie uns wissen lassen, was Sie bereits versucht haben. – Tim

Antwort

0

Ich habe mit neuen Feature gelöst UITextField.keyboardType = UIKeyboardTypeDecimalPad;

1

Sie müssen eine benutzerdefinierte UIView erstellen, wenn sie so aussehen soll, wie Sie sie gesendet haben. Grundsätzlich fügen Sie für jedes Steuerelement eine Reihe von Unteransichten (UIButtons) hinzu. Erstellen Sie dann einen Delegaten für die benutzerdefinierte UIView, die Wertänderungen benachrichtigt. Hier ist zum Beispiel ein grober Code, der Ihnen den Einstieg erleichtert:

// CustomNumbersView.m 

- (void)button1DidClick:(id)sender 
{ 
    [self.delegate customNumbersView:self didSelectKeyWithValue:@"1"]; 
} 

- (void)button2DidClick:(id)sender 
{ 
    [self.delegate customNumbersView:self didSelectKeyWithValue:@"2"]; 
} 

// MainViewController.m 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    CustomNumbersView *customNubmersView = [[CustomNumbersView alloc] initWithFrame:...]; 
    customNumbersView.delegate = self; 
} 

- (void)customNumbersView:(CustomNumbersView *)customNumbersView didSelectKeyWithValue:(NSString *)value 
{ 
    self.mainTextField.text = [NSString stringWithFormat:@"%@%@", self.mainTextField.text, value]; 
} 
+0

Ja, für so etwas habe ich eine Reihe von Unteransichten hinzugefügt. Aber, zum Beispiel, wenn ich auf "5" -Button klicke, wie kann ich in Echtzeit die Ausgabe auf dem Textfeld einstellen? –

+0

Hey Joaquin. Sie müssen das ** Delegiertenmuster ** verwenden, um Ihren View-Controller über alle Tastendrücke zu benachrichtigen. Ich habe etwas Code oben eingegeben, um Sie zu beginnen und Ihnen eine allgemeine Vorstellung davon zu geben, wie es gemacht werden kann. –

+0

Ehrfürchtiger Mann. Danke –

1

Ich stimme Kevin zu. Aber wenn Sie sich entscheiden, Ihr eigenes tastaturähnliches Pad zu implementieren, müssen Sie möglicherweise all die netten Funktionen verlieren, die Ihnen die originale iOS-Tastatur bietet.

Verwandte Themen