2015-11-30 3 views
0

Я сделал 4 pickerviews, каждый из которых имеет 15 объектов, я реализовал все методы делегата. Возвращено 1 количество компонентов, количество строк также правильно, но для просмотра метода строки строка всегда 0, а pickerview не diplayed.help меня в поиске, где я неправ. Вот мой кодuipickerview не отображает данные с количеством строк> 0

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView { 
    NSLog(@"In Number Of Components Method\n"); 
    int numberOfComponents = 1; 
    return numberOfComponents; 
} 


-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent(NSInteger)component { 
    NSMutableArray* keysArray = [[NSMutableArray alloc] init]; 
    NSMutableArray* valuesArray = [[NSMutableArray alloc]init]; 

    DBManager* dbManger = [[DBManager alloc] init]; 
    //companyName,city,category,postalCode 
    NSInteger count = 0; 
    switch (pickerView.tag) { 
     case 0: 
      if (![selectBusinessTextField.text isEqualToString:@""]) { 
       [keysArray addObject:@"category"]; 
       [valuesArray addObject:selectBusinessTextField.text]; 
      } 
      if (![selectCityTextField.text isEqualToString:@""]) { 
       [keysArray addObject:@"city"]; 
       [valuesArray addObject:selectCityTextField.text]; 
      } 
      if (![selectPostalCodeTextField.text isEqualToString:@""]) { 
       [keysArray addObject:@"postalCode"]; 
       [valuesArray addObject:selectPostalCodeTextField.text]; 
      } 

      if (keysArray.count) { 
       alternateArrayFoBusinessNamesArray = [dbManger fetchColumn:@"companyName" whereKeysAre:keysArray andValuesAre:valuesArray]; 
      else 
       alternateArrayFoBusinessNamesArray = [dbManger fetchColumn:@"companyName"]; 
      } 

      count = alternateArrayFoBusinessNamesArray.count; 
      break; 
    } 
    return count; 
} 

-(UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view { 

    UILabel* pickerItemLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, textFieldWidth, 40)]; 
    [pickerItemLabel setFont:[UIFont fontWithName:appFontBold size:18]]; 
    [pickerItemLabel setTextAlignment:NSTextAlignmentCenter]; 
    switch (pickerView.tag) { 
     case 0: 
     { 
      NSString* name = [alternateArrayFoBusinessNamesArray objectAtIndex:row]; 
      [pickerItemLabel setText:[alternateArrayFoBusinessNamesArray objectAtIndex:row]]; 
     } 
     break; 
     case 1: 
      [pickerItemLabel setText:[citiesNamesArray objectAtIndex:row]]; 
      break; 
     case 2: 
      if ([[businessTypesArray objectAtIndex:0]isKindOfClass:[NSDictionary class]]) 
       [pickerItemLabel setText:[businessTypesArray objectAtIndex:row]]; 
      else 
       [pickerItemLabel setText:[businessTypesArray objectAtIndex:row]]; 
     break; 
     case 3: 
      [pickerItemLabel setText:[postalCodesArray objectAtIndex:row]]; 
     break; 
    } 
    return pickerItemLabel; 
} 
+1

Вы должны обеспечить некоторый код для того, чтобы сообщество, чтобы помочь вам, пожалуйста, обеспечить реализацию зрения сборщика. –

+0

Пожалуйста, добавьте код, который вы используете –

+0

Ваша реализация была бы полезна. –

ответ

0

Я понял, что была проблема, каждая вещь была хорошо, за исключением, размер pickerview. который я установил 0, как и в более ранних версиях IOS (< 9,0) высота pickerview была установлена ​​на 0, и по умолчанию до 216, и теперь она регулируется, так давая 0 значение 0 не 216.

iOS 9 Release Notes

«UIPickerView и UIDatePicker теперь изменяются по размеру и адаптивные ранее, эти представления обеспечивали бы размер по умолчанию, даже если вы пытались изменить их размер. Теперь эти представления также по умолчанию имеют ширину из 320 точек на всех устройствах, а не на ширина устройства на iPhone. "

Так я изменяю его в какой-то размере и каждая вещь работает отлично

Смежные вопросы