У меня есть 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;
}
Вид перевернут, хотя я изменил его на значение по умолчанию, и это, похоже, не имело значения. Что я делаю не так?