Что такое clipRect в NSTableView? - PullRequest
       2

Что такое clipRect в NSTableView?

0 голосов
/ 07 августа 2010

Я пытаюсь понять значение clipRect в табличном представлении, встроенном в представление прокрутки.Я предположил, что прямоугольник клипа является видимой частью табличного представления.Это означает, что ширина прямоугольника не должна изменяться до тех пор, пока размер таблицы не изменяется, но после отслеживания ширины прямоугольника клипа в следующем коде я заметил, что ширина изменяется при перемещении горизонтальной полосы прокрутки влево направо.Значение ширины становится нормальным, когда я перемещаю вертикальную полосу прокрутки вверх и вниз.

Может кто-нибудь объяснить это?Заранее спасибо.

- (void)drawRow:(NSInteger)rowIndex clipRect:(NSRect)clipRect { 
    NSLog(@"drawRow Clip Rect Width:%f Height:%f", clipRect.size.width, clipRect.size.height);
    [super drawRow:rowIndex clipRect:clipRect];
}

1 Ответ

0 голосов
/ 07 августа 2010

Этот метод предназначен для рисования ячеек подряд.Прямоугольник обрезки определяет часть строки, которая будет нарисована.Без дальнейших исследований я предполагаю, что он всегда включает в себя целые клетки, а не точно видимую часть.Это делает определение, какие ячейки рисовать, и самого рисунка намного проще.При прокрутке слева направо разные ячейки различной ширины могут стать видимыми или могут быть скрыты.Полная ширина всех (даже частично) видимых ячеек в строке вашего табличного представления должна суммировать ширину этого прямоугольника клипа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...