2012-09-13 44 views
5

我正在編程創建一個NSWindow及其上的控件。可可:NSView原點x在底部

看起來原點(0,0)位於左下角。這對我來說很奇怪(來自其他GUI工具包)。是否有一些標誌,以便我可以改變這一點,以便原點位於左上角?

回答

10

在OS X上,原點位於左下角。對於屏幕座標和視圖框架來說是這樣。你可以在一個NSView子類中覆蓋isFlipped:,並返回YES使左上角成爲該視圖的原點,但我認爲沒有辦法對屏幕座標進行相同操作。

+3

嗯,是的,這是我迄今爲止所研究的。但是有沒有更簡單的方法?另外,每個想做這件事的人都必須重新發明'NSFlippedView'類,它只是一個'NSView','isFlipped'返回'YES'? – Albert

+0

我認爲在大多數情況下,最簡單的解決方案是扭轉你的數學。如果你來自iOS編程,這很煩人,但並不困難。 – DrummerB

+0

在[Cocoa文檔](http://developer.apple.com/library/mac/#documentation/cocoa/conceptual/CocoaDrawingGuide/Transforms/Transforms.html)中,它表示:「如果您計劃繪製所有的視圖的內容使用翻轉的座標,覆蓋視圖的isFlipped方法是迄今爲止的首選選項。「 – Albert