Ответ 1
Вы пробовали tableView:heightForRowAtIndexPath:
из UITableViewDelegate
?
Вы можете установить высоту строки до 71 путем реализации tableView:heightForRowAtIndexPath:
в вашем делете UITableView
(тот, кто поддерживает протокол UITableViewDelegate
).
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 71.0;
}
Сначала вы должны установить делегат вашего TableView. Делегат должен соответствовать протоколу UITableViewDelegate
. Пусть говорят, что мы имеем класс TableDelegate
. Чтобы соответствовать протоколу UITableViewDelegate
, он должен иметь его в квадратных скобках в этом объявлении следующим образом:
...
@interface TableDelegate : UIViewController <UITableViewDelegate>
...
or
@interface TableDelegate : UIViewController <some_other_protocol, UITableViewDelegate>
Затем вы установите делегат:
...
// create one first
TableDelegate* tableDelegate = [[TableDelegate alloc] init];
...
self.tableView.delegate = tableDelegate;
В конце вы должны реализовать метод tableView:heightForRowAtIndexPath:
в реализации TableDelegate
:
@implementation TableDelegate
...
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 71.0;
}
...
@end
RowHeight
Чтобы уточнить, использование rowHeight
должно работать нормально и работать лучше, чем константа, возвращаемая из -tableView:heightForRowAtIndexPath:
, как указывает Хавьер Сото в комментариях. Также обратите внимание, что если ваш UITableView имеет делегат, возвращающий высоту в свойстве -tableView:heightForRowAtIndexPath:
и rowHeight
, то выполняется предварительное значение.