Я пытаюсь использовать PXListView
, чтобы показать таблицу ячеек, содержащую NSTextField
s, и я хочу изменить высоту каждой ячейки, чтобы исправить текст внутри нее.
В моем представлении подклассовой ячейкиУ меня есть метод высоты, который вычисляет высоту ячейки:
- (CGFloat)height{
NSRect textRect = [self.text.attributedStringValue
boundingRectWithSize:NSMakeSize(NSWidth(self.text.frame), 0.0f)
options:NSStringDrawingUsesLineFragmentOrigin];
return MAX(90.0f, NSHeight(textRect)+73.0f);
}
Затем в моем методе PXListViewDelegate
heightOfRow
я получаю ячейку для строки, затем получаю высоту этой ячейки:
- (CGFloat)listView:(PXListView *)listView heightOfRow:(NSUInteger)row{
CustomViewCell *cell = (CustomViewCell *)[listView cellForRowAtIndex:row];
return [cell height];
}
Проблема в том, что ячейка всегда null
, я думаю, это потому, что у меня сценарий с курицей или яйцом.Ячейка пуста, потому что cellForRow
никогда не вызывается, потому что высота равна нулю, поэтому нет необходимости загружать ячейку.
Как правильно изменить высоту ячейки PXListView
на основе текста внутриэто?