【问题标题】:Cocoa: NSView origin x at the bottomCocoa:底部的 NSView 原点 x
【发布时间】:2012-09-13 14:15:05
【问题描述】:

我正在以编程方式创建 NSWindow 及其上的控件。

原点 (0,0) 似乎在左下角。这对我来说很奇怪(来自其他 GUI 工具包)。是否有一些标志,以便我可以将其更改为原点位于左上角?

【问题讨论】:

    标签: cocoa


    【解决方案1】:

    在 OS X 上,原点位于左下角。这对于屏幕坐标和视图框架来说是正确的。您可以在 NSView 子类中覆盖 isFlipped: 并返回 YES 以使左上角成为该视图的原点,但我认为没有办法对屏幕坐标执行相同操作。

    【讨论】:

    • 嗯,是的,这也是我迄今为止研究过的。但是没有更简单的方法吗?此外,是否每个想要这样做的人都必须重新发明这样的 NSFlippedView 类,它只是一个 NSViewisFlipped 返回 YES
    • 我认为在大多数情况下,最简单的解决方案就是反转你的数学。如果您来自 iOS 编程,这很烦人,但这并不难。
    • Cocoa docs 中,它说:“如果您打算使用翻转坐标绘制视图的所有内容,则覆盖视图的 isFlipped 方法是目前首选的选项。”
    • 如果您打算这样做,当然可以。我只是说,如果您是从头开始做某事(不是 iOS 应用程序的移植版),那么为什么不简单地以左下角为原点进行数学运算呢?
    • 因为在构建窗口的时候,我通常会有一个从上到下构建的控件列表。
    猜你喜欢
    • 2017-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多