Вопрос

Я устанавливаю высоту строки моего 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:

http://developer.apple .com / iphone / библиотека / документация / UIKit / ссылка / UITableViewDelegate_Protocol / справка / reference.html

Вы также можете изменить indentForRow, displayCellForRow, heightForRow, отредактировать материал .....

Я не думаю, что в UITableView есть такой метод ...

Вместо этого вы можете использовать свойство rowHeight ...
Пытаться, tableView.rowHeight = 100;

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top