2012-02-18 85 views
1

我想知道是否可以用NSMakeRect創建一個NSRect來創建一個簡單的正方形,它將在屏幕上顯示而沒有窗口或背後的任何視圖,只需在代碼中完成。在沒有窗口的主屏幕上的NSRect

這是我作爲一個例子

-(void)drawRect 
{ 
    NSRect myNewRect 
    myNewRect = NSMakeRect(100, 100, 50, 50); 
} 

那只是一個簡單的起點,但它本身不會顯示在屏幕上。我需要添加什麼?

感謝

+0

要顯示一個NSRect,你必須把它繪製在某個地方。 – sch 2012-02-18 22:19:26

回答

2

Mac OS X上的每個繪圖操作都需要一些排序窗口。所以不,你不能在沒有窗戶的情況下畫一個矩形。但是你可以創建一個沒有任何邊界的透明窗口來繪製。

1

重要的是,你不能「在屏幕上顯示沒有窗戶或者後面的任何觀點」之首。

您將一直在繪製一些支持圖層的對象(UIView等)。

UIView s最終必須是一些UIWindow層次結構的一部分來顯示它們。

所以你不能在主屏幕上「[畫]沒有窗口」。這不是Core Graphics的工作原理。

不過,我相信這是你想要做什麼:

-(void)drawRect 
{ 
    CGRect myNewRect = CGRectMake(100, 100, 50, 50); 

    CGContextRef ctx = UIGraphicsGetCurrentContext(); 
    CGContextSetFillColorWithColor(ctx, [[UIColor redColor] CGColor]); 
    CGContextFillRect(ctx, myNewRect); 
} 

其中提請在UIView矩形實現上述drawRect方法。