У меня есть пользовательский подкласс NSView в моем приложении. Хотелось бы узнать точную точку зрения относительно ее происхождения, щелкнув мышью. (т. е. не относительно начала окна, но относительно происхождения пользовательского вида).Каков правильный способ расчета точки зрения, что мышь была нажата
Я всегда использовал это, который работал отлично:
-(void)mouseDown:(NSEvent *)theEvent
{
NSPoint screenPoint = [NSEvent mouseLocation];
NSPoint windowPoint = [[self window] convertScreenToBase:screenPoint];
NSPoint point = [self convertPoint:windowPoint fromView:nil];
_pointInView = point;
[self setNeedsDisplay:YES];
}
Но теперь я получаю предупреждение, что convertScreenToBase устарела и использовать convertRectFromScreen вместо. Однако я не могу получить те же результаты от convertRectFromScreen, и во всяком случае, меня интересует точка, а не прямой!
Что следует использовать в качестве правильной замены устаревшего кода выше? Спасибо заранее!
Единственное реальное отличие от ответа Макса, по-видимому, заключается в использовании 1.0 вместо 0 для прямого размера. – Kenny