gpt4 book ai didi

ios - 从子类添加 UIImageView 到 UIView

转载 作者:行者123 更新时间:2023-11-28 22:03:31 25 4
gpt4 key购买 nike

我创建了一个名为 Slot 的自定义类,它是 UIView 的子类。在插槽类中,调用了以下函数:

- (NSString*)assignItem:(Item*)item {
NSString *message;

if (item.slotSize + currentCapacity > slotSize) {
message = @"Sorry this item will not fit.";
} else {
//uiimageview stuff
UIImage *image = [[UIImage alloc] initWithContentsOfFile:item.imageName];
UIImageView *iv = [[UIImageView alloc] initWithImage:image];

[self addSubview:iv];

[items addObject:item];
currentCapacity = currentCapacity + item.slotSize;

message = @"Success";
}

NSLog(@"%@",message);
return message;
}

发生的事情是一个 Item(另一个自定义类,NSObject 的子类)被传递到 Slot 一个 UIImageView 是从项目创建的,从字符串到包中的图像,并将它添加到 subview 。但是,图像未显示。正在显示成功消息,所以我知道它会到达那里。是否有另一种方法可以从子类中添加 subview ,或者我只是做错了?

最佳答案

UIImage *image = [[UIImage alloc] initWithContentsOfFile:item.imageName];

这不是实例化 bundle 中的图像的正确方法。您可以像这样使用 imageNamed:

UIImage *image = [UIImage imageNamed:item.imageName];

或者,您可以像这样使用 initWithContentsOfFile 获取图像,

NSString *imagePath = [[NSBundle mainBundle] pathForResource:item.imageName ofType:@"JPG"]; // replace JPG with whatever is appropriate for your image.
UIImage *image = [UIImage imageWithContentsOfFile:imagePath];

imageNamed: 会缓存图片,反之则不会。

关于ios - 从子类添加 UIImageView 到 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24539597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com