У меня много проблем, когда вы узнаете, как реализовать стандартный всплывающее окно. Как и во многих окнах регистрации приложений, когда пользователь выбирает идентификатор поля дня рождения, как всплывающее меню, чтобы отобразить его, чтобы пользователи могли выбрать день рождения, нажмите «Готово», и форматированная дата будет добавлена в текстовое поле. Это не похоже, что все должно быть так сложно, похоже, нет простого, понятного и стандартного способа сделать это в ios7. Я искал в Интернете и видел некоторые высказывания, чтобы использовать модальные, другие говорят, что таблицы действий, другие говорят всплывающие окна, а третьи говорят, что отдельный контроллер просмотра. Может кто-нибудь сказать мне, что стандартный способ сделать это и/или предоставить ссылку на tut или фрагмент о том, как его реализовать?Pop-up/Modal picker для текстового поля в IOS7
28
A
ответ
67
Я думаю, что «стандартный» способ состоит в том, чтобы установить сборщик в качестве входного вида текстового поля.
UIPickerView *picker = [[UIPickerView alloc] init];
self.textField.inputView = picker;
Он будет всплывать перед дном, точно так же, как клавиатура делает, когда вы касаетесь текстового поля.
Вот простая реализация, как использовать подборщик в качестве входной точки зрения:
@interface ViewController()
@property (weak, nonatomic) IBOutlet UITextField *tf;
@property (strong,nonatomic) NSArray *theData;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
UIPickerView *picker = [[UIPickerView alloc] init];
picker.dataSource = self;
picker.delegate = self;
self.tf.inputView = picker;
self.theData = @[@"one",@"two",@"three",@"four"];
}
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
return self.theData.count;
}
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
return 1;
}
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
return self.theData[row];
}
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
self.tf.text = self.theData[row];
[self.tf resignFirstResponder];
}
15
ActionSheetPicker-3.0 library, кажется, делает это очень хорошо.
+0
Я не могу получить это, чтобы построить из текущего git-клона. Xcode 7.2.1 дает мне: dyld'dyld_fatal_error: -> 0x120055088 <+0>: brk # 0x3 –
Смежные вопросы
- 1. камеры управление Image Picker - Автоповорот в iOS7
- 2. Picker На AlertView не виден в IOS7
- 3. jQuery Date Picker привязан к ошибке ввода текстового поля
- 4. JqueryUI Datepicker year picker не обновляет текст текстового поля
- 5. Как получить цвета переднего плана и фона для текстового поля для дальнейшего использования в Color Picker?
- 6. текстового поля для сервлета
- 7. jqueryui date picker работает для одного поля
- 8. Как применять стили для текстового блока Datetime Picker
- 9. SendKey() для текстового поля
- 10. Подтверждение для текстового поля
- 11. Css для текстового поля
- 12. Обновление текстового поля при обновлении текстового поля
- 13. Получение значения для текстового поля из другого текстового поля UIViewController
- 14. Создание левого поля для текстового поля JEditorPane
- 15. Выравнивание текстового поля и текстового поля
- 16. Использование iText для заполнения поля текстового поля
- 17. Как назначить удаленный идентификатор текстового поля для вновь созданного текстового поля при создании динамического текстового поля?
- 18. Странный UIPickerView в IOS7
- 19. TOGGLE CASE Для текстового поля?
- 20. wpf: Mousedoubleclick для текстового поля
- 21. SelectOnEntry для текстового поля wpf?
- 22. DatePicker для динамического текстового поля
- 23. Пользовательский конвертер для текстового поля
- 24. JQuery для отображения текстового поля
- 25. Onselect, необходимый для текстового поля
- 26. Javascript ошибка для текстового поля
- 27. Пользовательские проверки для текстового поля
- 28. Кнопка для копирования текстового поля
- 29. Повторить действие для текстового поля?
- 30. Водяной знак для текстового поля
это помогло, но что отвергая его? как в сделанной кнопке, которая заставляет datepicker уходить, разве это не считалось бы довольно стандартной частью чего-то подобного? Я надеюсь, что я не оторвусь от невообразимого, но был более полезен, чем что-либо еще, и я обнаружил, что он просто разочарован отсутствием ресурсов на этом материале после того, как он пришел с android, где tuts не обесценивают каждый год. – ChuckKelly
@ChuckKelly, вы можете просто оставить текстовое поле первым ответчиком в методе didSelectRow. Я добавил это к моему ответу. – rdelmar
Большое вам спасибо, я принял ур ответ, но 1 последняя мелочь. это представление, которое всплывает, не является частью моей раскадровки, как именно я бы добавил кнопку «done», если бы захотел (теперь я знаю id add self.tf resignFirstResponder). Я прошу bc, может быть, это немного раздражает некоторых, если вы просто прокрутите сборщик вниз, он выбирает все, на что он приземляется, и закрывается, и это не совсем то же самое, что выбрать значение. – ChuckKelly