В Three20 я не могу использовать пользовательские ячейки таблицы в searchViewController? - PullRequest
0 голосов
/ 19 мая 2011

Я реализую TTTableViewController с частью searchViewController, и у меня возникают проблемы при отображении результатов поиска в TableView поиска.

Если я добавлю TTTableTextItems к свойству источника данных items, он будет работать нормально, но если я попытаюсь добавить TTTableCaptionItem или TTTableImageItem или любую другую созданную мной ячейку, рендеринг будет испорчен.

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

Я приложил 3 снимка экрана, чтобы показать, что работает, а что нет.

Нет. 1: Работает с этим кодом:

[self.items addObject:[TTTableTextItem itemWithText:[item objectForKey:@"title"]]];

TTTableTextItem

Нет 2. Разрывает макет с помощью этого кода:

[self.items addObject:[TTTableCaptionItem itemWithText:[item objectForKey:@"title"]
                                               caption:[item objectForKey:@"excerpt"]]];

TTTableCaptionItem

Нет. 3 Также нарушает макет с этим кодом:

[self.items addObject:[TTTableImageItem itemWithText:[item objectForKey:@"title"]
                                            imageURL:[item objectForKey:@"thumbnail"]]];

TTTableImageItem

1 Ответ

0 голосов
/ 26 мая 2011

ОК, я понял это. Ключ устанавливает свойство variableHeightRows на YES в TTTableViewController, который вы используете в качестве контроллера поиска. Ниже приведен код, который я использовал.

TTTableViewController* searchController = [[[TTTableViewController alloc] init] autorelease];
searchController.dataSource = [[[MagazineSearchDataSource alloc] init] autorelease];   
searchController.variableHeightRows = YES;

self.searchViewController = searchController;
self.tableView.tableHeaderView = _searchController.searchBar;
...