2013-01-30 7 views
12

Zasadniczo chciałbym, aby użytkownik kliknął pole tekstowe i wyświetli zapełniony widok pickerview, a nie klawiaturę. Będzie to również wymagało paska narzędzi z wykonanym przyciskiem, jak również zakładam. Obecnie pole jest ustawione jako wyjście i akcja, a nie wiele więcej. Mam również arkusz akcji w kodzie, który jest używany, gdy użytkownik przesyła coś również, jeśli ma to jakikolwiek wpływ na to, aby w tym celu użyć arkusza operacji.Wyświetlenie podglądu UIPicker zamiast wprowadzania klawiatury iOS

Próbowałem zbadać ten temat, ale 99% tematów dotyczyło datepickerów, a nie pickerviews (lub bardzo starego kodu). Jestem całkiem nowy dla iOS, a także dla mnie.

Oto obraz tego, jak to wygląda w celach informacyjnych.

Odpowiedz

32

UITextField ma teraz właściwość inputView. Tutaj możesz przypisać mu wyświetlacz, który chcesz, w tym UIPickerView. Musisz ustawić pickerview chociaż i musi wdrożyć UITextFieldDelegate i UIPickerViewDataSource w .h:

@interface ViewController : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate> 

Następnie utworzyć widok kompletacji i przypisać go do pola tekstowego.

UIPickerView *pickerView = [[UIPickerView alloc] init]; 
pickerView.dataSource = self; 
pickerView.delegate = self; 
// ... ... 
self.pickerTextField.inputView = pickerView; 

Bo wdrożone interfejsów UIPickerView należy teraz wdrożyć te metody:

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component; 
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView; 
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component; 

Następnie powinno być dobrze iść. Zapoznaj się z dokumentacją dla innych metod, jeśli potrzebujesz więcej informacji.

+0

Czy po prostu edytowalibyśmy tę właściwość w metodzie naciśniętej w polu tekstowym? – JohnV

+0

Prawdopodobnie zrobiłbym to w viewDidLoad dla ViewController. Nie ma sensu ustawiać go za każdym naciśnięciem przycisku, chyba że zamierzasz przełączać się między UIPicker i normalną klawiaturą. – Firo

+0

Wydaje się działać. Pojawia się czarne pudełko zamiast klawiatury. Nie wiem, w jaki sposób chciałbym wypełnić tę informację lub dodać pasek narzędzi do sprawdzenia, czy zrobione. Jakieś pomysły? Mam NSArray zrobiony, ale nie wiem jak to powiązać z tym, ponieważ to nie jest naprawdę zrobione. – JohnV

Powiązane problemy