Проблема с UIDatePickerView с момента обновления до ios 8

Ive только что обновлен до iOS 8, и у меня есть проблема с моим приложением, все, кроме элементов выбора даты на рабочем листе. Когда действие выбрано для отображения листа действий вместе с элементом выбора даты, добавленным как подвью, приложение выйдет из строя. Я нашел код проблемы, который:

-(void)willPresentActionSheet:(UIActionSheet*)actionSheet{ theDatePicker = [[UIDatePicker alloc]initWithFrame:CGRectMake(0, 40, 320, 216)]; [actionSheet addSubview:theDatePicker]; NSArray *subviews = [actionSheet subviews]; [[subviews objectAtIndex:0]setFrame:CGRectMake(20, 266, 280, 46)]; //this line [[subviews objectAtIndex:1]setFrame:CGRectMake(20, 317, 280, 46)]; //also this one } 

В журнале консоли создается следующее:

 -[__NSArrayM objectAtIndex:]: index 1 beyond bounds [0 .. 0]' 

Раньше я решил (плохо), изменив каждый индекс на 2 и 3, который работал, но был грязной реализацией.

Это фактическая реализация:

 -(void)willPresentActionSheet:(UIActionSheet*)actionSheet{ theDatePicker = [[UIDatePicker alloc]initWithFrame:CGRectMake(0, 40, 320, 216)]; [actionSheet addSubview:theDatePicker]; NSArray *subviews = [actionSheet subviews]; [[subviews objectAtIndex:0]setFrame:CGRectMake(20, 266, 280, 46)]; [[subviews objectAtIndex:1]setFrame:CGRectMake(20, 317, 280, 46)]; } -(void)datePickerViewFromInput:(NSString*)title{ SheetPicker=[[UIActionSheet alloc]initWithTitle: title delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Set", nil]; [SheetPicker showInView:self.view ]; [SheetPicker setFrame:CGRectMake(0,117, 325, 383)]; theDatePicker.datePickerMode = UIDatePickerModeDate; NSDateFormatter *Formatter = [[NSDateFormatter alloc]init]; [Formatter setDateFormat:@"MM/dd/yyyy"]; } 

Если я удалю код проблемы, появится лист действий, но теперь нет выбора даты. (Я не имею понятия почему)

Есть какие нибудь идеи как это починить?

заранее спасибо

Вероятно, яблоко меняет иерархию представлений, в документах есть заметка , которая на самом деле не распространяется на ваше дело, но все же дает нам подсказку, что происходит:

UIActionSheet не предназначен для подкласса, и вы не должны добавлять представления в свою иерархию. Если вам нужно представить лист с большей настройкой, чем предоставленный API UIActionSheet, вы можете создать свой собственный и представить его модально с помощью currentViewController: анимированный: завершение :.

Так же, как с яблоком UIAlerView, мы не хотим, чтобы мы меняли его опыт. Там, потому что они немного перерабатывают иерархию представлений.

Самым разумным решением было бы сделать так, как было предложено яблоком: создать свой один контроллер просмотра и представить его по-разному.

В iOS 8 есть смена слайдов на UIActionSheet. Попробуйте этот код.

 UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"" message:@"" preferredStyle:UIAlertControllerStyleActionSheet]; [alert.view addSubview:theDatePicker]; [self presentViewController:alert animated:YES completion:nil]; 
  • Добавить UIButton в UIDatePicker
  • XCode: Почему мое событие не добавляется в календарь?
  • DatePicker включает Год
  • необходимо установить UIDatePickerMode в DateFormat
  • Быстрый доступ к году с UIDatePicker
  • Показывать datepicker в текстовом поле
  • Установить цвет текста и шрифт для UIDatePicker в iOS8 / Swift
  • Добавить кнопку «Готово» в всплывающую датуPickerView в Swift?
  • как реализовать выбор даты при нажатии кнопки в ios?
  • Изменить сегодня UIDatePicker
  • UIDatePicker с белым фоном на элемент
  • Interesting Posts

    Невозможно передать обслуживание с Mac на iOS, хотя передача обслуживания с iOS на Mac работает нормально

    CNCopySupportedInterfaces () не возвращает никакого значения, хотя Wi-Fi подключен

    В приложении iOS 5.1; Почему я не могу увидеть Исключение?

    Есть ли способ переключать bluetooth и / или Wi-Fi программно в iOS?

    Прокрутка UITableview изменяет изображения UIButton, прокрутки UITableview

    Добавление эффекта Pinch / Zoom в UIImageView внутри UIScrollView

    iOS. Лазейка сеанса сеанса TLS

    Цвет текста кнопки области в UISearchBar

    Xcode 4.5: «не имеет доступа к iOS 5.1 симулятору»

    Заставить iPhone читать данные через разъем для наушников

    Разработка SDK для iOS для API REST

    (iphone) мне нужно сделать недействительным таймер при повторах: нет?

    Входящий звонок пробуждает приложение для iPhone iOS?

    Программно выровнять метку снизу экрана, независимо от устройства – iOS

    Загрузка хранилища Firebase не работает в неблагоприятных условиях сети iOS

    Давайте будем гением компьютера.