我想知道是否有可能创建一个带有NSMakeRect的NSRect来创建一个简单的方块,它将显示在屏幕上,没有窗口或其后面的任何视图,只是在代码中完成。
这就是我的例子
-(void)drawRect
{
NSRect myNewRect
myNewRect = NSMakeRect(100, 100, 50, 50);
}
这只是一个简单的起点,但它本身不会出现在屏幕上。我需要添加什么?
由于
答案 0 :(得分:2)
Mac OS X上的每个绘图操作都需要一些排序窗口。所以不,你不能在没有窗户的情况下绘制一个矩形。但是你可以创建一个没有任何边框可以绘制的透明窗口。
答案 1 :(得分: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
中绘制一个矩形。