Я пытаюсь изменить размер строк NSTableView, чтобы они соответствовали ровно 9 строкам.Я пробовал [menuTableView setRowHeight:floor(menuRect.size.height / 9)];
и пробовал [menuTableView setRowHeight:(menuRect.size.height / 9)];
и [menuTableView setRowHeight:ceil(menuRect.size.height / 9)];
, но все они имеют одну и ту же проблему: если я выбрал строку 0, то строка 9 обрезается внизу, а если я выбираю строку 9, тострока 0 обрезана вверху.
Как настроить NSTableView для отображения 9 полных строк, чтобы независимо от того, какой части строки не видно,
Спасибо,
edit : Да menuRect - это рамка для menuTableView
edit :
Ниже приведен полный метод, который я использую для позиционирования NSTableView иустановить высоту строки, которую я пытался устранить при округлении с помощью переменной rowHeight
.С прикрепленным снимком экрана видно, что последний ряд отображается не полностью
- (void) updateGUIPositions
{
NSRect screenRect = [self frame];
NSRect menuRect;
// Set the menu location on screen
NSInteger spacer = screenRect.size.width / 9;
menuRect.size.width = floor(screenRect.size.width - (spacer * 3)) / 2;
menuRect.size.height = ceil(screenRect.size.height - (spacer * 2));
NSInteger rowHeight = menuRect.size.height / 9;
menuRect.size.height = rowHeight * 9;
menuRect.origin.x = menuRect.size.width + (spacer * 2);
menuRect.origin.y = spacer;
[menuScrollView setFrame:menuRect];
// Setup the row height
[menuTableView setRowHeight:rowHeight];
}