Я устанавливаю высоту строки моего UITableView
, используя следующий код
[tableView setRowHeight: 100.00];
Я использую одиночную строку как разделитель в UITableView
.
Несмотря на то, что высота выше, высота строки не изменяется.
Я устанавливаю высоту строки моего UITableView
, используя следующий код
[tableView setRowHeight: 100.00];
Я использую одиночную строку как разделитель в UITableView
.
Несмотря на то, что высота выше, высота строки не изменяется.
Вы должны реализовать
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
метод делегата. и верните 100.0.
Вам следует избегать heightForRowAtIndexPath
, если все ваши строки имеют одинаковую высоту и используют свойство rowHeight
. Согласно документации:
Есть последствия для использования tableView: heightForRowAtIndexPath: вместо rowHeight. Каждый раз, когда отображается представление таблицы, он вызывает tableView: heightForRowAtIndexPath: в делегате для каждой из его строк, что может привести к значительной проблеме с представлением таблицы, имеющей большое количество строк (приблизительно 1000 или более).
В подклассе UITableViewController это можно сделать, например, в методе viewDidAppear
(UITableViewController
имеет ссылку на tableView):
self.tableView.rowHeight = 79.f;
Высота строки выпекается в ячейках при их первом отображении.
Вы установили UITableView # rowHeight перед установкой источника данных?
Если нет, сделайте это.
Если по какой-либо причине вы не можете, другой вариант - вызывать UITableView # reloadData после установки высоты строки.
Мне это понравилось, здесь tableobj
- это не что иное, как UITableView
объект в моем приложении.
- (void)viewDidLoad
{
[super viewDidLoad];
[tableObj setRowHeight:100.0f];
}
Или обрабатывайте его в numberOfRowsInSection:
как:
- (NSInteger)tableView:(UITableView *)tblView numberOfRowsInSection:(NSInteger)section {
[tableObj setRowHeight:100.0f];
return [soandso count]; // soandso is my object
}
Потому что перед установкой источника данных установите rowHeight
. Он работал у меня (для равных высот строк).
Лучшее и более чистое решение - реализовать функцию делегата (возможно, не самый лучший, если ваш UITableView имеет много строк...).
Также подумайте, что UITableVieCell - это UIView, поэтому вы можете сначала изменить их высоту...
Делегаты очень мощны в iPhone dev, здесь UITableViewDelage:
Вы также можете изменить indentForRow, displayCellForRow, heightForRow, редактировать материал.....
Я не думаю, что есть такой метод в UITableView...
Вместо этого вы можете использовать свойство rowHeight...
Пытаться,
tableView.rowHeight = 100;