【问题标题】:iOS like coordinate-system in Mac appiOS 类似 Mac 应用程序中的坐标系
【发布时间】:2014-06-16 02:51:30
【问题描述】:

我刚开始使用我的第一个 Mac 应用程序,但我意识到坐标系是“翻转”的(x = 0,y = 0 在左下角)。我在 UI 编程方面遇到了很多麻烦,因为我习惯了 iOS 坐标系。

我现在的问题是: 我可以永远翻转我的应用程序/窗口的坐标系,这样我就不必翻转所有的子视图。

那是我的应用: 我的应用程序窗口包含一个 NSScrollView,其中包含从最近到旧的帖子。当我添加我的第一篇文章时,我希望它位于滚动视图的顶部。

我希望有人遇到同样的问题并可以帮助我。 谢谢

【问题讨论】:

    标签: ios objective-c macos coordinates coordinate-systems


    【解决方案1】:

    您可以在您的 NSView 类中覆盖名为 - (BOOL)isFlipped 的方法。使其返回 YES 以获取类似 iOS 的坐标系(AKA 翻转)。默认情况下它返回 NO,就像你现在看到的一样。这样做也将解决您的第二个问题,因为坐标被翻转了。

    【讨论】:

    • 我以前试过。但它不起作用。我继承了一个 NSView 并将我的 windows contentView 变成了一个 FlippedView。我想这就是你的意思。但是当我向这个翻转视图添加新视图时,新视图的坐标系不会翻转(回到正常的 mac 坐标系)
    • 在层上设置 geometryflipped = true 对我来说在 Xamarin OSX 上工作得很好,因为 IsFlipped 被设为只读属性。
    【解决方案2】:

    您可以按照 TonyD 的建议以编程方式更改它,也可以使用原始窗格通过尺寸检查器中的界面构建器进行更改

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-09
      • 2012-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多