Моя горячая мечта - иметь UITableView с различными размерами строк, определяемыми программно.Я прочитал документацию по UITableViewDataSource и реализую эти методы:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
- (NSInteger)tableView:(UITableView *)table numberOfRowsInSection:(NSInteger)section;
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
, которые мы можем увидеть здесь:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return (CGFloat) 200.0f;
}
- (NSInteger)tableView:(UITableView *)table numberOfRowsInSection:(NSInteger)section
{
return 1;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell* test = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:nil ];
test.textLabel.text = @"TEST";
CGRect ffframe = test.frame;
ffframe.size.height *= 200.0f;
test.frame = ffframe;
return test;
}
Они просто пытаются создать простую таблицу с однимряд, а высота 200.0.Я пытаюсь вернуть высоту в методе делегата и установить ее явно.Ни один из них не работает.
Я пытаюсь перехватить метод heightForRow в отладчике, кажется, он никогда не вызывается.
Строки МОЕЙ таблицы всегда соответствуют размеру, который я установил в конструкторе интерфейса.
Источник данных подключен правильно, иначе он не получит правильные строки и textLabel.