jestem utworzenie UIPickerView
mieć wyboru jak wyboru, wybór b, wybór c i tak dalej. Próbowałem zinterpretować kod przykładowy od Apple, ale wydaje się to bardzo trudne do zrozumienia dla początkującego, takiego jak ja. Chciałbym również, aby wybory z widoku próbnego przenosiły mnie na inną stronę, jeśli jest to możliwe.Jak skonfigurować UIPickerView?
Odpowiedz
To oczywiste dla każdego początkującego, że co jakiś nudny zrozumieć te rzeczy po raz pierwszy.
Tak czy inaczej, czy wiesz, jak korzystać z UITableView
s? Czy wiesz, jak korzystać z UITableViewDelegate
i UITableViewDataSource
? Jeśli twoja odpowiedź brzmi "tak", to po prostu wyobraź sobie, że UIPickerView
s są podobne do UITableView
s (ale pamiętaj, że nie są to UITableViewController
s).
Powiedzmy, Mam UIPickerView
:
UIPickerView *objPickerView = [UIPickerView new]; // You need to set frame or other properties and add to your view...you can either use XIB code...
1) Najpierw trzeba przypisać delegate
i dataSource
do UIPickerView
za pośrednictwem IB lub kodu. To zależy od implementacji (Więc to krok wygląda bardzo podobnie do UITableView
, prawda?)
Jak to:
objPickerView.delegate = self; // Also, can be done from IB, if you're using
objPickerView.dataSource = self;// Also, can be done from IB, if you're using
2) Następnie trzeba określić liczbę sekcji, podobnie jak to :
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)thePickerView {
return 1; // Or return whatever as you intend
}
2) Następnie trzeba określić liczbę wierszy, czego potrzebujesz:
- (NSInteger)pickerView:(UIPickerView *)thePickerView
numberOfRowsInComponent:(NSInteger)component {
return 3;//Or, return as suitable for you...normally we use array for dynamic
}
3) Następnie Zdefiniować tytuł wiersza (A jeśli masz wiele sekcji, a następnie tytuł dla każdej sekcji):
- (NSString *)pickerView:(UIPickerView *)thePickerView
titleForRow:(NSInteger)row forComponent:(NSInteger)component {
return [NSString stringWithFormat:@"Choice-%d",row];//Or, your suitable title; like Choice-a, etc.
}
4) Następnie trzeba uzyskać zdarzenia, gdy ktoś kliknie na elemencie (Jak chcesz, aby przejść do drugi kontroler/screen):
- (void)pickerView:(UIPickerView *)thePickerView
didSelectRow:(NSInteger)row
inComponent:(NSInteger)component {
//Here, like the table view you can get the each section of each row if you've multiple sections
NSLog(@"Selected Color: %@. Index of selected color: %i",
[arrayColors objectAtIndex:row], row);
//Now, if you want to navigate then;
// Say, OtherViewController is the controller, where you want to navigate:
OtherViewController *objOtherViewController = [OtherViewController new];
[self.navigationController pushViewController:objOtherViewController animated:YES];
}
to wszystko wdrożenie trzeba.
A UIPickerView użyje partenu podobnego do tego, którego używa się dla UITableView. DataSource
i Delegate
protokół.
Metody są używane do informowania selektora ile "kolumn" i ile "rzędów" znajduje się w selektorze.
Podczas gdy metody Delegate
są dla reszty, wysokości rzędów, szerokości kolumn, widoków lub tytułu do wyświetlenia i oddzwaniania po przesunięciu selektora.
UIPickerView
będę krótko wyjaśnić, jak to osiągnąć programowo
- (void)viewDidLoad {
[super viewDidLoad];
UIPickerView * picker = [UIPickerView new];
picker.delegate = self;
picker.dataSource = self;
picker.showsSelectionIndicator = YES;
[self.view addSubview:picker];
}
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
return 3;
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
NSString * title = nil;
switch(row) {
case 0:
title = @"a";
break;
case 1:
title = @"b";
break;
case 2:
title = @"c";
break;
}
return title;
}
Zasadniczo w viewDidLoad
kreujemy i dodanie UIPickerView
do widzenia, informując go, że nasz kontroler służy zarówno jako delegate
i dataSource
(można zrobić w konstruktorze Interface zbyt)
Następnie mamy dwie metody wykonawczego źródła danych, aby powiedzieć, ile komponenty i ile wierszy na komponentach pickerView ma odpowiednio numberOfComponentsinPickerView:
i pickerView:numberOfRowsInComponent:
Wreszcie wdrażają metodę delegata pickerView:titleForRow:forComponent:
która zwraca zawartość każdej linii.
Jeśli chcesz dostosować zachowanie po wybraniu wiersza, możesz zaimplementować metodę delegowania pickerView:didSelectRow:inComponent:
, która - zgodnie z nazwą - jest wywoływana za każdym razem, gdy wybrany jest wiersz.
Nie zapomnij ustawić ramkę. –
- 1. Programistyczny przykład UIPickerView?
- 2. UIPickerView reloadData
- 3. Jak utworzyć zawijanie komponentu UIPickerView?
- 4. Jak wykrywać zmiany w UIPickerView?
- 5. UIPickerView wyłącz wybór wiersza
- 6. UIPickerView - Loop danych
- 7. Kolor wiersza UIPickerView
- 8. UIPickerView Wzrost nie zmienny
- 9. UIPickerView pokazuje złe tytuły
- 10. Zmienianie wysokości UIPickerView wiersza
- 11. RxSwift i UIPickerView
- 12. UIPickerView z Multiline UILabel
- 13. Jak zresetować UIPickerView do indeksu: 0, iPhone
- 14. Jak zrobić okrągły UIPickerView (iPhone/iPad)?
- 15. Jak zrobić UIPickerView za pomocą przycisku Gotowe?
- 16. Pobierz aktualnie wybraną wartość UIPickerView
- 17. Wyświetlanie UIPickerView z wybranym wierszem
- 18. iOS Pokaż UIPickerView między UITableViewCells
- 19. prawy wyrównać tekst w UIPickerView
- 20. Zastępowanie podświetlone zaznaczenie w UIPickerView
- 21. Prosty UIPickerView w MonoTouch (Xamarin)?
- 22. Ponownie załaduj dane do UIPickerView
- 23. Niestandardowy UIPickerView z niestandardowym kolorem tła
- 24. Pop up UIPickerView on button click (Swift)
- 25. Elegancko wymień klawiaturę iPhone'a na UIPickerView
- 26. googletest: jak skonfigurować?
- 27. Jak skonfigurować bibliotekę Jcurses?
- 28. Jak skonfigurować gitignore?
- 29. Jak skonfigurować JSONP?
- 30. Jak poprawnie skonfigurować NSFetchedResultsController
opublikuj swój próbny kod i wyjaśnij, gdzie nie działa. –
Posiadamy ogromne zasoby do nauki w Internecie. Przed postawieniem pytania tutaj musisz zrobić kilka badań i spróbować czegoś, a następnie, jeśli napotkasz jakikolwiek problem, SO jest miejscem dla ciebie. Spróbuj tego linku http: //www.iphonesdkarticles .com/2009/01/uipickerview-creation-simple-picker.html. –
możliwe duplikat [iPhone UIPickerView w UIViewController] (http://stackoverflow.com/questions/2250063/iphone-uipickerview-in-uiviewcontroller) –