Другой первый ряд для UITableView - PullRequest
1 голос
/ 03 февраля 2012

Мне нужен UITableView, в первой строке которого должен отображаться логотип, в то время как в других строках должны отображаться другие данные таблицы.Я попробовал следующий код:

if(indexPath.row == 0) {
    //Code for imageview
} else {
    //Code to display array content
}

Моя проблема в том, что я не получаю первый элемент массива в табличном представлении.

Отредактировано ::

if (indexPath.row == 0) {

        CGRect myImageRect = CGRectMake(120.0f, 5.0f, 70.0f, 55.0f);
        UIImageView *myImage = [[UIImageView alloc] initWithFrame:myImageRect];
        [myImage setImage:[UIImage imageNamed:@"logo.png"]];
        [cell.contentView addSubview:myImage];
    }
    else  {

       NSDictionary *dict = [menuitems objectAtIndex:indexPath.row];

        cell.textLabel.text =[dict objectForKey:@"category"]; 
       }

Ответы [ 3 ]

8 голосов
/ 03 февраля 2012

Попробуйте использовать заголовок.Используйте следующий код для размещения логотипа в верхней части строки.

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{

    UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 50)];
    UIImageView *myimgvw = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 50)];
    [myimgvw setImage:[UIImage imageNamed:@"logo.png"]];
    [myView addSubview:myimgvw];

    return myView; 
}
1 голос
/ 03 февраля 2012

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

[dataArray objectAtIndex:indexPath.row];

Но поскольку вы показываете изображение в строке 0, вам необходимо сместить его на -1. Другими словами, вторая строка в вашей таблице будет иметь indexPath.row = 1, но вам нужно, чтобы это было objectAtIndex: 0.

0 голосов
/ 03 февраля 2012

Затем вам нужно поставить использование indexPath-1 для отображения текста вместо indexPath в другой части приведенного выше фрагмента кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...