NSView将图像设置为网页图像

时间:2011-12-10 16:22:08

标签: objective-c cocoa nsview

我有一个带有自定义视图对象的窗口。自定义视图使用NSView类显示项目文件夹中的图像文件(我的NSView类代码如下所示)。

现在我正在寻找一种方法将自定义视图的图像设置为网页图像地址而不是本地图像文件。请注意,这适用于Mac应用程序而非Touch应用程序。正如您从实现中看到的那样,我尝试了NSURL方法,但它没有用,它在代码中被注释掉了。基本上,我如何将Web图像放入桌面窗口?

NSView头文件:

#import <Cocoa/Cocoa.h>

@interface OurView : NSView {
    NSImageView *picture;
}

@end

NSView m文件:

#import "OurView.h"

@implementation OurView

- (id)initWithFrame:(NSRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        NSRect rect = NSMakeRect(0, 0, 500, 500);
        picture = [[NSImageView alloc] initWithFrame:rect];
        [picture setImageScaling:NSScaleToFit];
        [picture setImage:[NSImage imageNamed:@"earth.jpg"]];
        //[picture setImage:[NSURL URLWithString:@"http://curious.astro.cornell.edu/images/xraysun.gif"]];
        [self addSubview:picture];
    }

    return self;
}

- (void)drawRect:(NSRect)dirtyRect {
    // Drawing code here
}

@end

1 个答案:

答案 0 :(得分:1)

尝试:

[picture setImage: 
    [[[NSImage alloc] initWithContentsOfURL:
        [NSURL URLWithString:@"http://..."]] autorelease]];