Измените «кнопку» дополнительной загрузки в three20 TTThumbsViewController?

#iphone #three20

#iPhone #three20

Вопрос:

Как я могу изменить пользовательский нижний колонтитул three20 Load More в TTThumbsViewController?

Ответ №1:

TTThumbsViewController — это необычный TTTableViewController, что означает, что он использует TTDataSource. Лучший способ для этого — наследовать от TTThumbsViewController и переопределить это сообщение (это то, которое использует TTThumbsViewController) :

 - (id<TTTableViewDataSource>)createDataSource {
  return [[[TTThumbsDataSource alloc] initWithPhotoSource:_photoSource delegate:self] autorelease];
}
  

Затем реализуйте источник данных, который наследуется от TTThumbsDataSource, и переопределите это сообщение следующим образом:

 - (Class)tableView:(UITableView*)tableView cellClassForObject:(id)object {
    if ([object isKindOfClass:[TTTableMoreButton class]]) {
        return [YOU_CLASS class];
    } else {
        return [super tableView:tableView cellClassForObject:object];
    } 
}
  

Что происходит за кулисами, так это то, что datasources решает, нужно ли загружать больше изображений, если это так, он добавляет элемент TTTableMoreButton в список элементов, которые необходимо отобразить. Предоставив ему свой собственный класс ячейки, вы можете полностью переопределить внешний вид этой ячейки.