Черный UIPickerView внутри таблицы UIActionSheet

Я пытаюсь добавить представление UIPicker внутри UIActionSheet! Правильный выбор делегата и источника данных для сборщика! (Я тестировал его отдельно без листа действий). Но когда рабочий лист показывает в представлении, pickerview – это ужасный черный ящик! Я искал проблему, и я слышал, что источник данных и делегат из UIPickerView настроены неправильно! Я думал, что просмотрщик не назовет его метод, когда он запечатлен внутри лимита! поэтому я заставил сборщика перезагрузить весь его состав, будет ли таблица действий

EDIT : Я делаю исправление, и код работает отлично!

- (void) presentPicker{ UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Select some value" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Select", nil]; actionSheet.tag = AS_VIEW_TAG; UIPickerView* picker = nil; picker = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 40, 320, 216)]; picker.tag = 90; picker.dataSource = self; picker.delegate = self; [picker setShowsSelectionIndicator:YES]; [actionSheet addSubview:picker]; [actionSheet showInView:self.view]; [actionSheet setFrame:CGRectMake(0, 50, 320, 380)]; } - (void) willPresentActionSheet:(UIActionSheet *)actionSheet{ if(actionSheet.tag == AS_VIEW_TAG){ UIPickerView* picker = [actionSheet viewWithTag:PICKER_TAG]; //I force reload [picker reloadAllComponents]; NSArray *subviews = [actionSheet subviews]; [[subviews objectAtIndex:1] setFrame:CGRectMake(20, 266, 280, 46)]; [[subviews objectAtIndex:2] setFrame:CGRectMake(20, 317, 280, 46)]; } } 

Депутат UIPicker / Datasource Methodes

 - (NSInteger) numberOfComponentsInPickerView:(UIPickerView *)pickerView{ if (pickerView.tag == 90) { return 1; } else{ return 0; } } - (NSInteger) pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{ if(pickerView.tag == 90){ return 20; } else{ return 0; } } - (UIView*) pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view{ UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 300, 37)]; label.text = [NSString stringWithFormat:@"Value %d", ]; label.textAlignment = UITextAlignmentCenter; label.backgroundColor = [UIColor clearColor]; label.font = [UIFont boldSystemFontOfSize:17]; return label; } 

Вот результат:

черный сборщик внутри листа действий

3 Solutions collect form web for “Черный UIPickerView внутри таблицы UIActionSheet”

Я думаю, что добавление pickerview внутри листа действий может быть беспорядком, есть хороший обходной путь для этого. Проверьте этот вопрос SO

Один из моих проектов также имеет UIPicker как подпункт UIActionSheet, и он отлично работает. Вам не нужно принудительно перезагружать его, если что-то не изменилось. Попробуйте удалить весь этот блок:

 [picker reloadAllComponents]; NSArray *subviews = [actionSheet subviews]; [[subviews objectAtIndex:1] setFrame:CGRectMake(20, 266, 280, 46)]; [[subviews objectAtIndex:2] setFrame:CGRectMake(20, 317, 280, 46)]; 

Не уверен, что вы пытаетесь сделать с этими двумя последними строками, но я подозреваю, что это может быть проблемой.

Я сделал это неправильно …

Я изменил (я не знаю почему) тег picker, а затем сообщение:

 - (NSInteger) numberOfComponentsInPickerView:(UIPickerView *)pickerView; 

0

Поэтому мне нужно просто удалить:

  [picker setTag:PICKER_TAG] 

и он будет работать отлично!

  • Выполнение делегата Obj-C в отдельном файле
  • Как динамически всплывать и скрывать UIPickerView в iOS (Xamarin C #)?
  • iphone uipickerview: изображение и текст
  • Как переписать компонент UIDatePicker?
  • UIPickerView, обнаружить «катящееся колесо», начать и остановить?
  • Как получить ширину кадра UIAlertController?
  • Линии разделителя UIPickerView
  • Как добавить несколько компонентов в PickerView?
  • Кнопка в PickerView не работает iOS 7
  • Высота UIPickerView не изменяется
  • Простой UIPickerView в MonoTouch (Xamarin)?
  • Interesting Posts

    Библиотека сопоставления объектов из JSON в NSObjects

    Только Single cell расширяется одновременно в UITableViewCell в swift3

    Swift-Добавить индикатор раскрытия информации в UITableViewCell

    Регистрация имени класса всех UIViewControllers в проекте

    Случайный файл sqlite зашифрован или не является базой данных

    Автоматический макет без явных ограничений ширины и с большим или равным конечным пространством.

    Прямоугольник UIBezierPath с круглыми ручками

    iOS: разница между местоположением, которое я получаю от CLLocationManager и свойства userLocation MKMapView

    Создание токенов доступа к странице никогда не истекает с 2016 Facebook SDK?

    Проверка SVN Mac-терминал / Xcode

    Программа завершилась кодом выхода: 87

    Изменение скорости анимации серии изображений

    iOS. Как интегрировать push-уведомление в iOS 10?

    Как найти точку касания PDF в UIWebView?

    Добавить поддержку распознавания речи iOS для веб-приложения?

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.