2012-02-18 3 views
1

NSRect를 NSMakeRect와 함께 만들면 NSRake를 창이나보기가없는 화면에 표시되는 간단한 사각형으로 만들 수 있는지 궁금 해서요. 모두 코드로 작성했습니다.NSRect 주 화면에서 창없이

이것은 내가 예를 들어

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

그게 단순한 출발점으로 가지고 있지만 그 자체가 화면에 표시되지 않습니다 것입니다. 무엇을 추가해야합니까?

감사

, 당신 수 없습니다 "창 또는 뒤에 어떤보기없이 화면에 표시"모든
+0

NSRect를 표시하려면 어딘가에 그려야합니다. – sch

답변

2

Mac OS X의 모든 그리기 작업에는 정렬 창이 필요합니다. 그래서 아니오, 창없이 rect를 그릴 수는 없습니다. 그러나 테두리를 그리지 않고 투명한 창을 만들 수 있습니다.

1

첫째.

항상 레이어 지원 개체 (UIView 등)를 그리게됩니다.

그리고 UIView은 결국 일부 UIWindow 계층의 일부 여야합니다.

따라서 메인 화면에 "[draw]"창이 없으면 "을 사용할 수 없습니다. 그것은 Core Graphics가 작동하는 방식이 아닙니다.

그러나, 나는 이것이 당신이 뭘하려는 건지 믿고 :

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

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

drawRect 방법을 구현하는 UIView에 사각형을 그립니다.