Несколько вопросов TableView - PullRequest
       5

Несколько вопросов TableView

2 голосов
/ 17 августа 2011

Я хочу создать интерфейс, аналогичный поисковому интерфейсу приложения iTunes для iPhone. У меня есть несколько вопросов, на которые я не могу найти ответ:

Вот изображение интерфейса поиска приложения iTunes для iPhone:

image

  • Как создать субтитр раздела tableView, например, Tap to Preview, Double-Tap to View info под заголовком Top Hits.
  • Как кнопка цены создана, чтобы плавать правильно? Это сделано изначально или с помощью пользовательского UIView?
  • Наконец, как мне отличить одно касание от двойного касания в любой из ячеек табличного представления?

Ответы [ 3 ]

1 голос
/ 17 августа 2011

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

Что касается субтитров Tap to Preview, вы можете создать настраиваемый вид заголовка, см .:

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

Скорее всего, вам понадобитсясоздать 2 UILabels для этого представления, и, очевидно, вы захотите сопоставить используемые здесь шрифты.

Пример

- (UIView *) tableview:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    UIView *headerView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 30)] autorelease];  

    UILabel * label = [[UILabel alloc] initWithFrame:CGRectZero];
    label.text = @"Top Hits";
    label.backgroundColor = [UIColor clearColor];
    label.font = [UIFont boldSystemFontOfSize:17];
    [headerView addSubview:label];

    UILabel * label2 = [[UILabel alloc] initWithFrame:CGRectZero];
    label2.text = @"Tap to Preview, Blah blah blah";
    label2.backgroundColor = [UIColor clearColor];
    label2.font = [UIFont fontWithName:@"Apple's Default Font?" size:17];
    [headerView addSubview:label2];

    /*  something like this  */
    return headerView;
}
- (CGFloat) tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    return 50.0f;
}
0 голосов
/ 15 ноября 2012

1 - для пользовательского заголовка Вы можете использовать метод источника данных табличного представления - (UIView *) tableView: (UITableView *) tableView viewForHeaderInSection: (NSInteger) раздел;

и затем вы можете либо создать представление программно со всеми метками или вы можете создать отдельное представление в xib, создать его экземпляр в вашем viewcontroller и вернуть этот экземпляр в вышеупомянутом методе источника данных - этот подход будет намного проще и проще.

2- Вы можете реализовать кнопку цены с помощью uibutton и установить его в качестве фонового изображения в пользовательской ячейке табличного представления. Вы можете скрыть / показать эту кнопку согласно вашей функциональности.

3- Я бы предложил отключить выбор вида таблицы и добавить распознаватели жестов касания в ячейку пользовательского представления таблицы. это даст вам больше гибкости

Надеюсь, это поможет вам

0 голосов
/ 17 августа 2011

Большинство ваших вопросов хорошо решены в Apple Руководство по программированию табличного представления для iOS .Вот несколько коротких ответов:

  1. Вы можете сделать заголовок для раздела UIView, в этом случае вы можете использовать несколько UILabel s для создания заголовков с субтитрами икак.

  2. Это, вероятно, установлено как accessoryView из UITableViewCell, или это может быть полностью пользовательский подкласс UITableViewCell.

  3. Для этого вам необходимо реализовать метод UITableViewDelegate - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath.Для получения дополнительной информации о настройке этого метода (например, чтобы различать одиночные и многократные ответвления), ознакомьтесь с разделом Управление выборами вышеприведенного руководства.

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