gpt4 book ai didi

ios - 循环以从 viewDidLoad 上的文档目录设置 UIImages

转载 作者:行者123 更新时间:2023-11-28 20:08:56 25 4
gpt4 key购买 nike

我有 9 个按钮,其图像由用户动态设置。每个按钮的当前图像保存在用户文档文件夹中。在 viewDidLoad 中,id 喜欢将每个图像重新设置为它的 UIButton。

我可以很容易地做到这一点:

NSString *filePath = [self documentsPathForFileName: @"boss1.png"];
NSData *pngData = [NSData dataWithContentsOfFile:filePath];
UIImage *savedBoss = [UIImage imageWithData:pngData];
[boss1Button setImage:savedBoss forState:UIControlStateNormal];


...... 8 more times....

当然,我更喜欢使用循环来完成它。只是,我不确定在 Objective-C 中会是什么样子。在 jQuery 中我可以做类似的事情:

$('.bosses').each(function( index ) {
var imageUrl='../images/boss'+(index+1)
$('#'+this.id).css('background-image', 'url(' + imageUrl + ')')
});

我如何创建一个类似的 objective-C 循环来类似地增加老板图像名称和按钮名称?

此外,是否有更好的方法来完全做到这一点?

我觉得也许有一个图像 url 的 NSArray 和一个 UIButton 名称的 NSArray 并使用循环将它们配对在一起可能会更好......但我还是我不确定这里的语法是什么样的。

最佳答案

像这样尝试并使用 1 到 8 这样的按钮标签

for (id subview in self.view.subviews) {
if([subview isKindOfClass:[UIButton class]]) {
UIButton* button = (UIButton*)subview;
NSString *filePath = [self documentsPathForFileName:[NSString stringWithFromate@"boss%d.png", button.tag]];
NSData *pngData = [NSData dataWithContentsOfFile:filePath];
UIImage *savedBoss = [UIImage imageWithData:pngData];
[button setImage:savedBoss forState:UIControlStateNormal];
}
}

这样就可以了。

关于ios - 循环以从 viewDidLoad 上的文档目录设置 UIImages,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21016352/

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