Objective c NSImageView setImage赢了';t集图像

Objective c NSImageView setImage赢了';t集图像,objective-c,cocoa,nsimage,nsimageview,Objective C,Cocoa,Nsimage,Nsimageview,我正在尝试为Cocoa项目中的NSImageView实例对象设置图像。我的代码如下所示: itemTableCellView * xx = [tableView makeViewWithIdentifier:@"MainCell" owner:self]; xx.label.stringValue = [tempCi simpleTxt]; xx.img = [[NSImageView alloc]initWithFrame:CGRectMake(48, 48, 48, 48)]

我正在尝试为Cocoa项目中的NSImageView实例对象设置图像。我的代码如下所示:

itemTableCellView * xx = [tableView makeViewWithIdentifier:@"MainCell" owner:self];
    xx.label.stringValue = [tempCi simpleTxt];
    xx.img = [[NSImageView alloc]initWithFrame:CGRectMake(48, 48, 48, 48)]];
    NSImage * localimage = [NSImage imageNamed:@"menubar icon"];
    [xx.img setImage:localImage];
    return  xx;
变量
img
的类型为NSImageView。变量
localImage
加载正确的图像,我已经在日志中检查过了。变量
标签
已正确初始化并获得正确的值

我只是不断在我的应用程序中获取空的nsimageview。

你应该使用

xx.img = [[NSImageView alloc] initWithFrame:CGRectMake(x, y, width, height)];
或者,由于
img
是属性,您根本不需要初始化它? 只要使用

xx.img.frame=CGRectMake(x, y, width, height);
你应该使用

xx.img = [[NSImageView alloc] initWithFrame:CGRectMake(x, y, width, height)];
或者,由于
img
是属性,您根本不需要初始化它? 只要使用

xx.img.frame=CGRectMake(x, y, width, height);

创建
NSimageView
时,请尝试执行
initwithframe:
。这将为NSImageView设置大小。否则,我相信您可能正在使用大小为零的矩形进行绘制。

当您创建
NSimageView
时,请尝试执行
initwithframe:
。这将为NSImageView设置大小。我相信你可能是在画一个大小为零的矩形,否则。

好吧,Objective-C的另一个怪癖

我发现,即使
NSImageView
NSView
的属性,也需要通过以下方式将其添加到其中:

[xx addSubview:xx.img];   
很好,玩得很好,很好

干杯

好吧,Objective-C的另一个怪癖

我发现,即使
NSImageView
NSView
的属性,也需要通过以下方式将其添加到其中:

[xx addSubview:xx.img];   
很好,玩得很好,很好


干杯

您的
NSImageView
初始化时没有大小(它的帧等于
NSZeroRect
),您也不会将图像视图添加到任何子视图。

您的
NSImageView
初始化时没有大小(它的帧等于
NSZeroRect
),另外,您没有将图像视图添加到任何子视图。

您的
NSImageView
初始化时没有大小(它的帧等于
NSZeroRect
),而且您似乎也没有将图像视图添加到任何子视图。我已经更改了刚刚初始化它的部分。现在我正在设置一个矩形@艾曼纽,请把你的评论写在回答中,我会接受的!非常感谢你!您的
NSImageView
初始化时没有大小(它的帧等于
NSZeroRect
),而且您似乎没有将图像视图添加到任何子视图中。我已更改了刚刚初始化它的部分。现在我正在设置一个矩形@艾曼纽,请把你的评论写在回答中,我会接受的!非常感谢你!我尝试过:
xx.img=[[NSImageView alloc]initWithFrame:CGRectMake(48,48,10,10)]但仍然不起作用:(如果我不初始化,那么
img
是否为零?您是否将其添加到任何视图中?@Marci man,正如我在评论中所说,您不会将图像视图添加到视图层次结构中。嗯,
img
label
是变量
xx
的属性,标签显示得很好!我已经尝试过:
xx.img=[[NSImageView alloc]initWithFrame:CGRectMake(48,48,10,10)];
但仍然不起作用:(如果我不初始化,那么
img
是否为零?您是否将其添加到任何视图中?@Marci man,正如我在评论中所说,您不会将图像视图添加到视图层次结构中。嗯,
img
label
是变量
xx
的属性,并且label显示得很好!不,不是这样,但感谢您的尝试gh!不,不是这样,但是谢谢你的尝试!我现在不能接受答案,但过几天就会接受:)我现在不能接受答案,但过几天就会接受:)