Черный 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] 

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

  • Ошибка утверждения в - , /SourceCache/UIKit_Sim/UIKit-2903.2/UITableView.m:7768
  • Кнопка в PickerView не работает iOS 7
  • Как отключить редактирование UITextField, но все же принять прикосновение?
  • перерисовать вид с экрана - содержит представление выбора и панель инструментов
  • Неверная ошибка контекста в iOS 7 при добавлении UIPickerView внутри таблицы UIActionSheet?
  • Как я могу представить представление выбора так же, как клавиатура?
  • Как вы сокращаете UIPickerView на iPhone?
  • Повторное использование представления в UIPickerView с iOS 7
  • Uipickerview за работой
  • Как вызвать pickerView: didSelectRow: inComponent: без взаимодействия с пользователем?
  • iOS, UIPickerView - нет отказов
  • Interesting Posts

    Тестирование управления памятью в Objective-C (iOS)

    UIButton показывает tintColor только при нажатии, а не в нормальном состоянии

    Как использовать NSUserDefaults в swift?

    Xcode Server ibtool Build Failures

    Как заполнить заголовок раздела UITableView?

    Почему Xcode4 не выделяет синтаксис в условных блоках компиляции?

    IOS UIImage изображения запуска для текущего устройства

    ios представляет контроллер представления сразу после отклонения предыдущего

    Четкие изображения IBDesignable имеют черный фон

    Можно ли запускать меню общего доступа на смартфонах (через HTML / JS)?

    Представление ролика камеры UIImagePickerController над открытой камерой

    Удаление вставленного, но несохраненного объекта из Контекста управляемого объекта данных

    Сегменты раскадровки, вызывающие утечки памяти

    Как создать UIButton с черным градиентом для iPhone?

    Удалить повторяющиеся объекты из свойства объекта NSMutableArray?

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