У меня есть NSView
, который я добавляю как подвид другого NSView
. Я хочу иметь возможность перетащить первый NSView
вокруг родительского вида. У меня есть код, который частично работает, но есть проблема с NSView
, движущимся в противоположном направлении по оси Y от перетаскивания моей мыши. (т.е. я тяну вниз, оно идет вверх и наоборот).
Вот мой код:
// -------------------- MOUSE EVENTS ------------------- \\
- (BOOL) acceptsFirstMouse:(NSEvent *)e {
return YES;
}
- (void)mouseDown:(NSEvent *) e {
//get the mouse point
lastDragLocation = [e locationInWindow];
}
- (void)mouseDragged:(NSEvent *)theEvent {
NSPoint newDragLocation = [theEvent locationInWindow];
NSPoint thisOrigin = [self frame].origin;
thisOrigin.x += (-lastDragLocation.x + newDragLocation.x);
thisOrigin.y += (-lastDragLocation.y + newDragLocation.y);
[self setFrameOrigin:thisOrigin];
lastDragLocation = newDragLocation;
}
Представление перевернуто, хотя я вернул его к значению по умолчанию, и, похоже, это не имело значения. Что я делаю неправильно?