我有一個支持圖層的視圖,並且想要了解錨點如何工作,它是否允許使用CALayer幾何屬性(而不是使用NSView的框架屬性)用於圖層背景視圖的核心動畫幾何體
首先,從文檔報價:
爲anchorPoint的默認值是(0.5,0.5),其對應 層的邊界
中心但當我試圖改變價值的直接指向(0.5,0.5),我得到了抵消。下面是例子,紅色區域是原來的位置(當施加在定位點什麼),按鈕被移到了左下角:
當我設置錨點(0,0 )按鈕放置在它應該是:
更新:
下面是我用實例化按鈕的代碼:
self.button = [[NSButton alloc] initWithFrame:NSMakeRect(130, 130, 100, 40)];
self.button.title = @"My Title";
self.button.wantsLayer = YES;
NSLog(@"Button anchor Point is : (%f;%f)", self.button.layer.anchorPoint.x, self.button.layer.anchorPoint.y);
[panelView addSubview:self.button];
什麼有意思,似乎對層支持的觀點是默認的定位點是0,0:
NSLog(@"Button anchor Point is : (%f;%f)", self.button.layer.anchorPoint.x, self.button.layer.anchorPoint.y);
產生(0.000000; 0.000000)
畢竟,OS X部署目標是10.8
非常有趣。如果將旋轉變換應用於圖層會發生什麼?它應該圍繞它的錨點旋轉,這似乎是你左下角的情況。在更改錨點之前如何修改_layer_幾何?你修改位置,框架或邊界嗎?在設置錨點之前,您是否修改了_view_幾何? –
我使用代碼和一些日誌輸出更新問題。 – dmitrynikolaev
+1好問題。調用'[NSView addSubview]'是否也將子視圖的圖層添加到接收器的內容層?文檔沒有提到它。 – trojanfoe