Боюсь, вам нужно написать немного кода, чтобы он заработал. Вот как бы я это сделал.
Создайте специальный вид изменения размера, который будет отслеживать события мыши и вызывать методы делегата, обеспечивающие изменение позиции отслеживания.
- (void)mouseDown:(NSEvent *)theEvent
{
_startPoint = [theEvent locationInWindow];
[_delegate resizingDidStart];
}
- (void)mouseDragged:(NSEvent *)theEvent
{
NSPoint hitPoint = [theEvent locationInWindow];
[_delegate resizeWithDeltaX:(hitPoint.x - _startPoint.x) deltaY:(hitPoint.y - _startPoint.y)];
}
Поместите этот вид в правом нижнем углу базового вида. Установите маску авторазмера, чтобы этот вид всегда оставался в правом нижнем углу.
Поместите табличное представление вместе с его представлением прокрутки в Основное Представление. Установите маску авторазмера в представлении прокрутки, чтобы его размер и ширина были большими.
В делегате процесса Resize View изменяется положение мыши и устанавливается рамка базового вида.
- (void)resizingDidStart
{
_initialRect = [_baseView frame];
}
- (void)resizeWithDeltaX:(CGFloat)deltaX deltaY:(CGFloat)deltaY
{
[_baseView setFrame:NSMakeRect(_initialRect.origin.x, _initialRect.origin.y + deltaY, _initialRect.size.width + deltaX, _initialRect.size.height - deltaY)];
}
Конечно, представление прокрутки должно быть под видом изменения размера. Вы можете нарисовать некоторый индекс ручки в представлении изменения размера и т. Д.