NSView с NSImage внутри него - почему NSImage не перемещается с представлением, которое является его родителем? - PullRequest
2 голосов
/ 11 ноября 2011

Я пишу простое приложение для MacRuby. У меня есть NSView, который рисует изображение внутри себя, когда вызывается его drawRect().

Внутри этого подкласса NSView мой drawRect() имеет (среди некоторых других строк кода)

image = NSImage.imageNamed("mini_browser")
image.drawInRect( self.bounds, fromRect: self.frame, operation:NSCompositeSourceOver, fraction:1.0)

Если я переместлю свой подкласс NSView через my_view.setFrameOrigin([x,y]), где x и y - некоторые значения, я получу что-то вроде ниже. Любое понимание того, почему это происходит? Похоже, что NSImage не движется с NSView, который его окружает.

См. И пример здесь. .

1 Ответ

3 голосов
/ 11 ноября 2011

Вы делаете это неправильно. Из документации второй параметр указывает:

The source rectangle specifying the portion of the image you want to draw.
The coordinates of this rectangle must be specified using the image's own
coordinate system. If you pass in NSZeroRect, the entire image is drawn.

Так что вы, вероятно, хотите передать NSZeroRect в качестве второго параметра.

...