2012-02-18 11 views
1

多分NSMakeRectを使ってNSRakeを作成して、単純な四角形を作ることが可能かどうか疑問に思っていました。NSRectメイン画面でウィンドウなし

これは単なる出発点ザッツ私は例として持っているもの

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

ですが、それ自体は、画面上に表示されません。私は何を追加する必要がありますか?

おかげで、すべての

+0

NSRectを表示するには、どこかに描画する必要があります。 – sch

答えて

2

Mac OS Xでのすべての描画操作では、並べ替えのウィンドウが必要です。そうではなく、ウィンドウなしで直角を描くことはできません。しかし、境界線を持たない透明なウィンドウを作成することができます。

1

まず、あなたがすることができません「ウィンドウまたはそれ背後にあるすべてのビューなしで画面上に表示」。

あなたは常にレイヤーバックオブジェクト(UIViewなど)に描画します。

そしてUIViewは、最終的にそれらを表示するためにいくつかのUIWindow階層の一部でなければなりません。

したがって、ウィンドウなしのメイン画面で[[描画]を実行することはできません。それはCore Graphicsの仕組みではありません。

はしかし、私は、これはあなたが何をしようとしてであると考えている:

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

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

上記drawRect方法を実現UIViewで四角形を描画します。

関連する問題