2010-10-14 4 views
2

Я пытаюсь изменить высоту ячеек в моем TTTableViewController из библиотеки three20. Я использую TTTableRightImageItem, и я хочу, чтобы высота определялась высотой изображения, а не фиксированной высотой.320 TTTableViewController высота ячейки

Должен ли я подклассировать TableCell? Есть ли свойство, которое я могу просто установить?

ответ

1

Вам нужно подкласс.

+0

Можете ли вы дать мне указания на то, как я это делаю? Я предполагаю, что я просто создаю новый класс myTTTableViewController, который наследует от TTTableViewController, а затем я должен переопределить некоторую функцию, которая сообщает высоту ячейки? Как я могу узнать, какая функция? – Noam

+0

Вы можете продолжать использовать контроллер, предоставленный Three20 ('TTTableViewController'). Я полагаю, что вы хотите сделать, это контролировать высоту ячейки, которая вычисляется каждым «TTTableViewItemCell». Вам также нужно будет выбрать, что использовать для вашего 'TTTableViewItem', и сопоставить их в вашем источнике данных с помощью' -tableView: cellClassForObject: '. К сожалению, это довольно сложно и пока не содержит никакой хорошей документации. Это список статей, которые вы можете написать для http://new.three20.com. –

+0

Plz исправить меня, если я ошибаюсь: мне нужно создать класс, который наследуется от TTTabelViewController. Затем мне нужен пользовательский TTTableViewItemCell, который будет иметь высоту, которую я хочу (как создать такой пользовательский элемент подкласса TTTableViewItemCell? Переопределить функцию высоты его?), Что я понял, что есть «TTTableViewVarHeightDelegate», но я не имеют понятия о том, как его использовать. И как установить выравнивание текста внутри вправо-влево? Надеюсь, это не слишком много, чтобы спросить ... – Noam

1

Хотя, наверное, поздно, но для кого-то еще Searching набор:

self.variableHeightRows = YES; 

на вашем TTTableViewController и подкласс TTTableRightImageItem для реализации

+ (CGFloat)tableView:(UITableView*) tableView rowHeightForObject:(id)item; 

и вернуть высоту ячейки в поплавок.

0

Убедитесь, что UITableViewDelegate, что вы создаете в - (id<UITableViewDelegate>)createDelegate методе TTTableViewController подкласс TTTableViewVarHeightDelegate.

Простой TTTableViewDelegate не назовет метод + (CGFloat)tableView:(UITableView*) tableView rowHeightForObject:(id)item; вашей пользовательской ячейки.

Смежные вопросы