UIPickerView не отображает данные в iOS 7
Я использую UIPickerView и UIToolbar, и добавляю его в UIView и добавляю это представление в мой основной вид
addTimePicker=[[UIPickerView alloc]init];
[addTimePicker setFrame: CGRectMake(0, 20, 0, 0)];
addTimePicker.showsSelectionIndicator=YES;
addTimePicker.dataSource=self;
addTimePicker.delegate=self;
picker= [[UIView alloc] initWithFrame:CGRectMake(0, screenHeight/2+35, screenWidth, screenHeight/2+35)];
picker.backgroundColor=[UIColor whiteColor];
addToolbar=[[UIToolbar alloc] initWithFrame: CGRectMake(0, 0, self.view.frame.size.width, 45)];
addToolbar.barTintColor=[UIColor whiteColor];
addToolbar.items = [NSArray arrayWithObjects:flexibleSpace,addAvailabilityButton, nil];
[picker addSubview: addTimePicker];
[picker addSubview: addToolbar];
[self.view addSubview:picker];
Однако, несмотря на то, что мой контроллер настроен на соответствие протоколам UIPickerViewDataSource и UIPickerViewDelegate, мой
-(UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
или же
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
или же
-(NSAttributedString *)pickerView:(UIPickerView *)pickerView attributedTitleForRow:(NSInteger)row forComponent:(NSInteger)component
не вызывается вообще.
Я немного осмотрелся, но не могу найти причину, по которой это нельзя назвать.
Несмотря на то, что при каждом вызове метода numberOfRowsInComponent возвращается значение по умолчанию, равное 3, а для numberOfComponentsInPickerView - 5, при регистрации данных в нем сообщается, что для любого проверяемого компонента имеется 0 строк.
Я протестировал этот код, используя новый проект, и он работает как шарм, отображающий все данные.
РЕДАКТИРОВАТЬ: больше тестирования, и это сцена;
Даже кровавый UIDatePicker не работает. Я не вижу ни одного элемента, который должен иметь сборщик даты. Я попытался просто перевернуть средство выбора даты, как есть, в новое представление, и сделать это, подключив его к своему представлению и так далее.
Я начинаю задаваться вопросом, является ли это глобальной проблемой, поскольку она затрагивает только этот проект в частности.
1 ответ
Выяснил в чем проблема.
Я использовал обработчик пустого набора данных, https://github.com/dzenbot/DZNEmptyDataSet, который также пытался обрабатывать средства выбора. Удаление этого обработчика решило мою проблему.
Я усвоил урок и хорошо его выучил. Сторонние библиотеки - это огромная игра.
Приветствия.