#iphone #ios #three20
#iPhone #iOS #three20
Вопрос:
Есть ли способ изменить высоту TTTableMoreButton без создания нового класса ItemClass для TTTableMoreButton и возврата этого класса в функции
- (Class)tableView:(UITableView *)tableView cellClassForObject:(id)object
Огромное спасибо. Пожалуйста, дайте мне знать, если это невозможно.
Приветствую, Микки
Комментарии:
1. Нет, я не думаю, что это возможно.
Ответ №1:
Имейте в виду, что вы не будете изменять высоту TTTableMoreButton
, а скорее измените высоту TTTableMoreButtonCell
, которая связана с TTTableMoreButton
. Правильный способ сделать то, чего, я думаю, вы пытаетесь достичь, — создать подкласс обоих TTTableMoreButton
и TTTableMoreButtonCell
, переопределить
(CGFloat)tableView:(UITableView*)tableView rowHeightForObject:(id)object;
функция в вашем TTTableMoreButtonCell
подклассе, а затем внутри вашего источника данных, обязательно сопоставьте два класса, как вы сами упомянули, например:
- (Class)tableView:(UITableView *)tableView cellClassForObject:(id)object {
if ([object isKindOfClass:[CustomItem class]]) {
return [CustomItemCell class];
} else {
return [super tableView:tableView cellClassForObject:object];
}
}
HTH
Комментарии:
1. Отличный ответ. Также отличный дизайн Three20, соответствующий принципу «Открыто-закрыто».