2009-06-08 11 views

cevap

3

Michael Vannorsdel amaçla NSView sublassing öneriyor ... bana yardım edin, ben alıntı:

Sen ediyorum NSView alt sınıfını oluşturmaktan ve çizim yapmak istediğinizde görüntü çizmekten daha iyi olmalısınız.

- (void)awakeFromNib 
{ 
    myImage = [[NSImage alloc] init.... 

    [self setNeedsDisplay:YES]; 
} 

- (void)drawRect:(NSRect)rect 
{ 
    NSSize isize = [myImage size]; 
    [myImage drawInRect:[self bounds] fromRect:NSMakeRect(0.0, 0.0, 
isize.width, isize.height) operation: NSCompositeCopy fraction:1.0]; 
} 

oldukça öğretici var, cocoabuilder o tamamını okumak.

5

Cocoa bir pencere "içerik görünümü" adı verilen bir kök düzeyindeki görünümü vardır. Bu, bir pencerede diğerlerini içeren görünümdür. Varsayılan olarak, sadece boş, boş bir NSView. Ancak kendi özel NSView alt sınıfınızı kolayca oluşturabilir, arka plan resminizi çizmek için drawRect: yöntemini geçersiz kılabilir ve bunu özel görünümünüz için kullanabilirsiniz.

Ancak sadece bir düz eski NSImageView kullanmak daha kolay olabilir. Bunun avantajı, örneğin, görüntünün bir köşeye sabitlenmesini sağlamak için davranışı otomatik olarak ayarlayabilmenizdir (yükleyici penceresini yeniden boyutlandırarak bunu Installer.app ile deneyin). Aynı zamanda yarı-opak yapabilmeniz için arka planın biraz gösterilmesini sağlayabilirsiniz. (Yine, Installer.app düşünüyorum; uygulama tamamen farklı olabilir) doğru yönde harekete geçiriyor

Umut!