Я пытаюсь использовать PXListView
, чтобы показать таблицу ячеек, содержащую NSTextField
s, и я хочу изменить высоту каждой ячейки, чтобы исправить текст внутри нее.Переменная высота NSTextField с PXListView
На моих подклассах зрения клеток у меня есть метод, высота, которая вычисляет высоту ячейка должна быть:
- (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
на основе текста внутри нее?