2009-06-08 28 views
6

Tôi đang tìm một giải pháp hoàn hảo để đặt hình nền cho cửa sổ trong ứng dụng ca cao. Tôi chưa tìm được giải pháp này, tôi mới trong mục tiêu c, vì vậy xin vui lòng bất cứ ai giúp tôi ...Hình nền cho một cửa sổ trong khung Cocoa

Trả lời

3

Michael Vannorsdel gợi ý sublassing NSView cho mục đích này, và tôi trích dẫn:

bạn muốn thực sự tốt hơn là tạo một lớp con NSView và vẽ nó hình ảnh bạn muốn trong drawRect :.

- (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]; 
} 

đọc rằng toàn bộ thread trên cocoabuilder, nó khá bài học.

5

Cửa sổ trong Cocoa có chế độ xem cấp cơ sở được gọi là "chế độ xem nội dung". Đây là chế độ xem chứa tất cả những người khác trong cửa sổ. Theo mặc định, nó chỉ đơn giản là trống NSView. Nhưng bạn có thể dễ dàng tạo lớp con tùy chỉnh NSView của riêng mình, ghi đè phương thức drawRect: để vẽ hình nền của bạn và sử dụng hình ảnh đó cho chế độ xem tùy chỉnh của bạn.

Tuy nhiên, bạn có thể dễ dàng sử dụng một số cũ là NSImageView. Ưu điểm của điều này là bạn có thể thiết lập, ví dụ, tự động hóa hành vi để giữ hình ảnh được ghim vào một góc (thử điều này với Installer.app bằng cách thay đổi kích thước cửa sổ trình cài đặt). Bạn cũng sẽ có thể làm cho nó nửa mờ để nền hiển thị thông qua một chút. (Một lần nữa, tôi đang nghĩ đến Installer.app; ứng dụng của bạn có thể hoàn toàn khác)

Hy vọng rằng bạn sẽ đi đúng hướng!

Các vấn đề liên quan