我想知道是否可以用NSMakeRect創建一個NSRect來創建一個簡單的正方形,它將在屏幕上顯示而沒有窗口或背後的任何視圖,只需在代碼中完成。在沒有窗口的主屏幕上的NSRect
這是我作爲一個例子
-(void)drawRect
{
NSRect myNewRect
myNewRect = NSMakeRect(100, 100, 50, 50);
}
那只是一個簡單的起點,但它本身不會顯示在屏幕上。我需要添加什麼?
感謝
我想知道是否可以用NSMakeRect創建一個NSRect來創建一個簡單的正方形,它將在屏幕上顯示而沒有窗口或背後的任何視圖,只需在代碼中完成。在沒有窗口的主屏幕上的NSRect
這是我作爲一個例子
-(void)drawRect
{
NSRect myNewRect
myNewRect = NSMakeRect(100, 100, 50, 50);
}
那只是一個簡單的起點,但它本身不會顯示在屏幕上。我需要添加什麼?
感謝
Mac OS X上的每個繪圖操作都需要一些排序窗口。所以不,你不能在沒有窗戶的情況下畫一個矩形。但是你可以創建一個沒有任何邊界的透明窗口來繪製。
重要的是,你不能「在屏幕上顯示沒有窗戶或者後面的任何觀點」之首。
您將一直在繪製一些支持圖層的對象(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
方法。
要顯示一個NSRect,你必須把它繪製在某個地方。 – sch 2012-02-18 22:19:26