2011-11-11 8 views
2

私は簡単なMacRubyアプリケーションを書いています。私はdrawRect()が呼び出されたときに、それ自身の内部にイメージを描画するNSViewを持っています。内部にNSImageを持つNSView - どのようにNSImageが親のビューで動かないのですか?

そのNSViewのサブクラスインサイド私drawRect()は、私がxyはいくつかの値ですmy_view.setFrameOrigin([x,y])を経由して、私のサブクラスのNSViewを移動すると、私は以下のようなものを取得する(コードのいくつかの他の行の中で)

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

を持っています。なぜこれが起こっているのかについての洞察はありますか? NSImageがそれを囲むNSViewと共に動いていないかのようです。

たとえば、here.を参照してください。

答えて

3

あなたは間違っています。ドキュメントから、2番目のパラメータは指定しています

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. 

だからあなたはおそらく2番目のパラメータとしてNSZeroRectに渡したいです。

+0

美しい、ありがとうフランシス! – briangonzalez

関連する問題