Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mac应用程序中类似iOS的坐标系_Ios_Objective C_Macos_Coordinates_Coordinate Systems - Fatal编程技术网

Mac应用程序中类似iOS的坐标系

Mac应用程序中类似iOS的坐标系,ios,objective-c,macos,coordinates,coordinate-systems,Ios,Objective C,Macos,Coordinates,Coordinate Systems,我刚开始使用我的第一个Mac应用程序,但我意识到坐标系是“翻转的”(x=0,y=0在左下角)。我在UI编程方面遇到了很多麻烦,因为我习惯了iOS坐标系 我现在的问题是: 我可以永远翻转应用程序/窗口的坐标系,这样我就不必再翻转所有子视图了 这是我的应用程序: “我的应用程序”窗口包含一个NSScrollView,其中包含从最近到旧的帖子。当我添加我的第一篇文章时,我希望它位于scrollView的顶部 我希望有人有同样的问题,可以帮助我。 谢谢您可以在NSView类中重写名为-(BOOL)isf

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

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

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

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

您可以在NSView类中重写名为
-(BOOL)isfliped
的方法。使其返回
YES
以获得类似于iOS的坐标系(即翻转)。默认情况下,它返回NO,就像您现在看到的一样。这样做还可以解决第二个问题,因为坐标是翻转的

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


我以前试过。但它不起作用。我将NSView子类化,并将我的windows contentView设置为FlippedView。我想这就是你的意思。但是,当我将新视图添加到此翻转视图时,新视图的坐标系不会翻转(返回到正常的mac坐标系),在图层上设置geometryflipped=true对Xamarin OSX很好,因为IsFlipped是只读属性。