NSRect на главном экране без окна - PullRequest
1 голос
/ 19 февраля 2012

Мне было интересно, возможно ли создать NSRect, возможно, с NSMakeRect, чтобы сделать простой квадрат, который будет отображаться на экране без окна или какого-либо вида позади него, просто сделанный в коде.Это то, что я привожу в качестве примера

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

Это просто простая отправная точка, но она не будет отображаться на экране сама по себе.что мне нужно добавить?

Спасибо

Ответы [ 2 ]

2 голосов
/ 19 февраля 2012

Каждая операция рисования в Mac OS X требует некоторого окна сортировки. Так что нет, вы не можете нарисовать прямоугольник без окна. Но вы можете создать прозрачное окно без каких-либо границ для рисования.

1 голос
/ 19 февраля 2012

Прежде всего, вы не можете " отображать на экране без окна или какого-либо вида позади него ".

Вы всегда будете рисовать на объекте со слоем (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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...