2015-04-28 3 views
1

Я пытаюсь сделать пример на https://github.com/singhson/Expandable-Collapsable-TableView, где используется раскадровка. Я пытаюсь сделать это с помощью xib-файлов. Какие изменения я должен внести в cellForRowAtIndexPath, чтобы получить желаемый результат? Я пытался что-то вроде этогоИмя не отображается в UITableView

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *[email protected]"Cell"; 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier]; 
    if(cell==nil) 
    { 
     cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier]; 
    } 
    NSString *Title= [[self.itemsInTable objectAtIndex:indexPath.row] valueForKey:@"Name"]; 

    [self createCellWithTitle:Title image:[[self.itemsInTable objectAtIndex:indexPath.row] valueForKey:@"Image name" ] indexPath:indexPath]; 
// return [self createCellWithTitle:Title image:[[self.itemsInTable objectAtIndex:indexPath.row] valueForKey:@"Image name"] indexPath:indexPath]; 

    return cell; 

} 

- (UITableViewCell*)createCellWithTitle:(NSString *)title image:(UIImage *)image indexPath:(NSIndexPath*)indexPath 
{ 
    NSString *CellIdentifier = @"Cell"; 
    ExpandableTableViewCell* cell = [self.menuTableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    UIView *bgView = [[UIView alloc] init]; 
    bgView.backgroundColor = [UIColor grayColor]; 
    cell.selectedBackgroundView = bgView; 
    cell.lblTitle.text = title; 
    cell.lblTitle.textColor = [UIColor blackColor]; 

    [cell setIndentationLevel:[[[self.itemsInTable objectAtIndex:indexPath.row] valueForKey:@"level"] intValue]]; 
    cell.indentationWidth = 25; 

    float indentPoints = cell.indentationLevel * cell.indentationWidth; 

    cell.contentView.frame = CGRectMake(indentPoints,cell.contentView.frame.origin.y,cell.contentView.frame.size.width - indentPoints,cell.contentView.frame.size.height); 

    NSDictionary *d1=[self.itemsInTable objectAtIndex:indexPath.row] ; 

    if([d1 valueForKey:@"SubItems"]) 
    { 
     cell.btnExpand.alpha = 1.0; 
     [cell.btnExpand addTarget:self action:@selector(showSubItems:) forControlEvents:UIControlEventTouchUpInside]; 
    } 
    else 
    { 
     cell.btnExpand.alpha = 0.0; 
    } 
    return cell; 
} 

Теперь я получаю таблицу, которая может быть расширена или разрушилась, но я его не показывает имя в виде таблицы. Какие еще изменения я должен сделать для этого? Пожалуйста помоги.

+0

Не могли бы вы показать метод:'createCellWithTitle '? –

+0

Кроме того, NSString * Название не должно начинаться с верхнего регистра –

+0

Проверьте обновленный код – Itaws

ответ

1

Мои предложения:

  • Используйте dequeueReusableCellWithIdentifier:forIndexPath: (чтобы быть замеченными в случае, если вы did't зарегистрировать класс) вместо dequeueReusableCellWithIdentifier:, потому что последний один сбой, если это не распространяется вы не зарегистрировали класс или перо для идентификатора возвращает только нуль.
  • Убедитесь, что вы правильно связали «lblTitle» вашего класса ExpandableTableViewCell с xib в построителе интерфейса.
  • Заполните эту инструкцию: cell.lblTitle.text = название; если заголовок равен нулю или даже если ваш lblTitle равен нулю.
  • Проверьте, не затенен ли lblTitle (вы меняете contentView в этой строке: cell.contentView.frame = CGRectMake (indentPoints, cell.contentView.frame.origin.y, cell.contentView.frame.size.width - indentPoints, cell.contentView.frame.size.height);)
  • Вы регистрируете ExpandableTableViewCell, используя isgisterClass: forCellReuseIdentifier: 'in viewDidLoad? Надеюсь, это поможет.
+0

Я проверил ссылки и использовал dequeueReusableCellWithIdentifier: forIndexPath. Когда я помещаю отладчик и запускаю его, я получаю все имена правильно, но он не отображается. Есть ли что-нибудь еще, что я могу проверить? – Itaws

+0

У вас есть lblTitle, связанный с вашим файлом nib? Проверьте, нет ли его нуля. –

+0

Я связал его – Itaws

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

  • Нет связанных вопросов^_^