2010-03-27 4 views
6

До сих пор я создавал пользовательские наконечники, чтобы сделать свою ячейку, как я хотел, но на этот раз высота ячейки будет меняться от одной к другой, так что я не могу создать фиксированный размер ячейки.Вид таблицы с пользовательской ячейкой (программно)

Итак, я решил создать его программно ... Это путь к лучшему, чтобы достичь этого?

// Customize the appearance of table view cells. 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; 
     UILabel *pseudoAndDate = [[UILabel alloc] initWithFrame:CGRectMake(0.0,0.0,320.0,20.0)]; 
     [pseudoAndDate setTag:1]; 
     [cell addSubview:pseudoAndDate]; 
     [pseudoAndDate release]; 
    } 

    CommentRecord *thisRecord = [comments objectAtIndex:[indexPath row]]; 

    UILabel *label = (UILabel *)[cell viewWithTag:1]; 
    [label setText:[NSString stringWithFormat:@"%@ | %@",thisRecord.author,thisRecord.date]]; 

    return cell; 
} 

или .. я что-то не хватает здесь? Причина до сих пор это не похоже на работу;)

Спасибо,

Готье.

ответ

0

Новой ссылки для пользовательского UITableViewCell программно Apple Documentation UITableViewCell

+0

Обратите внимание, что [ссылки только для ответов] (http://meta.stackoverflow.com/tags/link-only-answers/info) обескуражены, ответы SO должны быть конечной точкой поиска решения (vs. еще одна остановка ссылок, которые со временем становятся устаревшими). Пожалуйста, подумайте о добавлении отдельного резюме здесь, сохранив ссылку как ссылку – kleopatra

0

Зачем создавать ярлык, если вам это не нужно? Используйте ярлык UITableViewCell.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; 
    } 

    CommentRecord *thisRecord = [comments objectAtIndex:[indexPath row]]; 

    cell.textLabel.text = [NSString stringWithFormat:@"%@ | %@",thisRecord.author,thisRecord.date]; 

    return cell; 
} 
0

Если ваша проблема заключается в том, что высота изменяется от клетки к клетке, вы можете использовать метод:

https://developer.apple.com/library/ios/documentation/uikit/reference/UITableViewDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UITableViewDelegate/tableView:heightForRowAtIndexPath:

От UITableViewDelagate для достижения

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