как иметь несколько меток в ячейке таблицы, не делая пользовательский вид таблицы iphone - PullRequest
1 голос
/ 10 июня 2011

У меня нет нестандартного табличного представления, я имею в виду, что я использую cellForRowAtIndexPath. Я хочу, чтобы в моей ячейке было 2 ярлыка, один для заголовка, а другой для даты. Я пытался использовать этот код, который не работает:

CGRect myImageRect = CGRectMake(0.0f, 0.0f, 320.0f, 109.0f); 

    UIView* view = cell.contentView;
    UILabel* labelTitle = [[UILabel alloc] initWithFrame:myImageRect];
    UILabel* labelDate = [[UILabel alloc] initWithFrame:myImageRect];

    [cell addSubview:labelTitle];
    [cell addSubview:labelDate];

    cell.labelDate.text = @"title";
    cell.labelTitle.text = @"date";

Я получаю сообщение об ошибке: Property 'labelDate' not found on object of type 'UITableViewCell *'

Так что, похоже, клетка не распознает мои метки. Можно ли это как-то сделать?

Заранее спасибо.

Ответы [ 5 ]

1 голос
/ 10 июня 2011

Вы должны использовать методы делегата табличного представления как;

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

NSString *detailField_Name = [[NSString alloc] init];

static NSString *CellIdentifier = @"Cell";

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

cell.textLabel.text = @"title";
cell.detailTextLabel.text = @"date";

return cell;

}
0 голосов
/ 10 июня 2011

Вы можете добавить несколько меток ниже:

UILabel * lblTaskTitle = [[UILabel alloc] initWithFrame: CGRectMake (45.0, 5, 100.0, 35.0)];

    [lblTaskTitle setFont:[UIFont fontWithName:@"Helvetica" size:16.0]];        
    [lblTaskTitle setTextColor:[UIColor whiteColor]];
    [lblTaskTitle setBackgroundColor:[UIColor clearColor]];
    lblTaskTitle.text = oTaskType.taskTypeTitle;
    [cell addSubview:lblTaskTitle];

UILabel * lblTaskDetail = [[UILabel alloc] initWithFrame: CGRectMake (45.0, 5, 140.0, 35.0)];

    [lblTaskDetail setFont:[UIFont fontWithName:@"Helvetica" size:16.0]];       
    [lblTaskDetail setTextColor:[UIColor whiteColor]];
    [lblTaskDetail setBackgroundColor:[UIColor clearColor]];
    lblTaskDetail.text = oTaskType.taskTypeTitle;
    [cell addSubview:lblTaskDetail];

Дайте мне знать, если возникнут сложности.

0 голосов
/ 10 июня 2011

Здесь - хороший пример от Apple, как сделать несколько пользовательских ячеек.

0 голосов
/ 10 июня 2011

использование

[cell.contentView addSubview: title];

вместо

[ячейка addSubview: labelTitle];

и

labelDate.text = @ "title";

вместо

cell.labelDate.text = @ "title";

0 голосов
/ 10 июня 2011

попробуй

 [cell.contentView addSubview:title];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...