macos - 无法在 NSView 中正确定位 NSImageView

标签 macos cocoa nsview nsimageview

我想在我的主视图中显示 NSImageView:

img=[[NSImageView alloc]init];
[img setImage:[[NSImage alloc]initWithContentsOfFile:filename]];
width=img.image.size.width/2;
height=img.image.size.height/2;
[img setFrame:NSMakeRect(0,0,width ,height)];
mainview = [((AppDelegate *)[NSApp delegate]).window contentView];
[mainview addSubview:img];

图像正确显示,但它不是位于主窗口的左上角,而是完全位于屏幕的右侧。

上面有什么问题吗?

最佳答案

尝试这样:-

- (void)windowDidLoad
{
 NSString *imageName = [[NSBundle mainBundle] pathForResource:@"yourImage ofType:@"tiff"];
    NSImage *photoImage = [[NSImage alloc] initWithContentsOfFile:imageName];
    [yourimgView setImage:photoImage];
    CGFloat width=yourimgView.bounds.size.width;
    CGFloat height=yourimgView.bounds.size.height;
    CGFloat xboundspoint=yourimgView.bounds.origin.x;
    CGFloat yboundspoint=yourimgView.bounds.origin.y;   
    [yourimgView setFrame:NSMakeRect(xboundspoint, yboundspoint+150.0, width, height)];
    [yourview addSubview:yourimgView];
    [[[self window]contentView]addSubview:yourview];
    [super windowDidLoad];
}

关于macos - 无法在 NSView 中正确定位 NSImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18881960/

相关文章:

swift - 如何将值从 NSViewController 传递到 NSPopover 的自定义 NSView?

objective-c - 如何管理 NSView 中的坐标

macos - 如何为多个 docker-machine VM 自动配置主机条目 (OS X)

macos - Mac OSX 上的 PostgreSQL 环境文件?

python - 在Mac OS(M1和intel CPU)上使用pipenv安装mysqlclient永远不会成功

objective-c - NSfileManager 类中的release方法有什么作用?

cocoa-touch - 如何从短网址获取长网址

objective-c - NSURL比较: compare with different URL

macos - 添加到父 View 时,以编程方式创建的 NSView 不会出现

python - Conda环境不会在git中存储gitlab密码(Mac)