UIPickerView ve Eylem Sayfalarını işleyen bir alternatif için ActionSheetPicker'ı kontrol edin
https://github.com/TimCinel/ActionSheetPicker
Kokoapodlar etkin. Eylem Sayfasındaki tüm iptal ve tamamlama düğmelerini kullanır. Örnek projedeki örnekler harika. Sadece String tabanlı seçenekleri kolayca işleyen ActionSheetStringPicker'ı seçiyorum, ancak API aklıma gelen çoğu şeyi halledebilir.
Başlangıçta onay işaretli cevaba çok benzeyen bir çözüme başladım, ancak bu projeye tökezledim ve cocopods: ActionSheetPicker (~> 0.0) dahil kullanım için her şeyi uygulamama entegre etmem için yaklaşık 20 dakika sürdü
Bu yardımcı olur umarım.
Git projesini indirin ve aşağıdaki sınıflara bakın:
- ActionSheetPickerViewController.m
- ActionSheetPickerCustomPickerDelegate.h
İşte eklediğim kodun kabaca çoğu artı * .h içe aktarımları.
- (IBAction)gymTouched:(id)sender {
NSLog(@"gym touched");
[ActionSheetStringPicker showPickerWithTitle:@"Select a Gym" rows:self.locations initialSelection:self.selectedIndex target:self successAction:@selector(gymWasSelected:element:) cancelAction:@selector(actionPickerCancelled:) origin:sender];
}
- (void)actionPickerCancelled:(id)sender {
NSLog(@"Delegate has been informed that ActionSheetPicker was cancelled");
}
- (void)gymWasSelected:(NSNumber *)selectedIndex element:(id)element {
self.selectedIndex = [selectedIndex intValue];
//may have originated from textField or barButtonItem, use an IBOutlet instead of element
self.txtGym.text = [self.locations objectAtIndex:self.selectedIndex];
}
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
return NO; // Hide both keyboard and blinking cursor.
}