sách gpt4 ai đã đi

Lật tọa độ chuột NSView

In lại 作者:行者123 更新时间:2023-12-03 16:12:26 28 4
mua khóa gpt4 Nike

我有一个 NSView 的子类,它重新实现了许多鼠标事件函数。例如,在 mouseDown 中从我使用的 NSEvent 获取点:

NSEvent *theEvent; // <- argument to function

NSPoint p = [theEvent locationInWindow];
p = [self convertPoint:p fromView:nil];

但是坐标好像翻转了,(0, 0) 是在窗口的左下角?

编辑:我已经重写了 isFlipped 方法以返回 TRUE,但它只影响绘图。抱歉,不敢相信我忘记直接把它放了。

1 Câu trả lời

你说的翻转是什么意思? Mac 的所有内容均使用 LLO(左下原点)坐标系。

biên tập我无法用一个简单的项目重现这个。我创建了一个像这样实现的 NSView:

@implementation FlipView
- (BOOL)isFlipped {
return YES;
}

- (void)mouseDown:(NSEvent *)theEvent {
NSPoint p = [theEvent locationInWindow];
p = [self convertPoint:p fromView:nil];
NSLog(@"%@", NSStringFromPoint(p));
}
@kết thúc

我收到了我期望的坐标。删除 isFlipped 按预期切换方向。您有一个简单的项目来演示您的问题吗?

关于macos - 翻转 NSView 鼠标坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7599168/

28 4 0
Bài viết được đề xuất: cocoa - 如何检查特定日期是否存在?
Bài viết được đề xuất: cocoa - 如何计算(无需搜索)适合矩形的字体大小?
Bài viết được đề xuất: cocoa - 禁用 NSTableView 双击
Bài viết được đề xuất: macos - cocoa:以退格键作为等效键的菜单栏项
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com