从 Plist 文件设置按钮图像

Setting Button Image from Plist file

我正在尝试将数据从我的 .plist 加载到我以编程方式创建的按钮。我的 plist 文件包含图像。我希望在调用 .plist 时将图像添加到我创建的按钮中。目前,我只能让图像名称显示在屏幕上。这是我试过的。

    NSString *path = [[NSBundle mainBundle] pathForResource:@"Academic" ofType:@"plist"];
    NSArray *buttonsArray = [[NSArray alloc] initWithContentsOfFile:path];

    NSLog(@"%@",buttonsArray);

    int positionX = 10;

    for (int i = 0; i < [buttonsArray count] ; i++) {

        MainMenu *abingtonAcademic = [buttonsArray objectAtIndex:i];

        UIButton *abAcademicButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        [abAcademicButton setImage:abingtonAcademic forState:UIControlStateNormal];
        abAcademicButton.frame = CGRectMake(0, positionX, 300, 40);
        [self.mainMenuScroll addSubview:abAcademicButton];

        positionX += 50;

    }

    [self.mainMenuScroll setContentSize:CGSizeMake(320, positionX + 20)];

}

我怀疑,你在 plist 中没有图像,而是它的名称。因此,您需要将图像放在应用程序的捆绑包中。然后,您可以使用

设置按钮图像
[abAcademicButton setImage:[UIImage imageNamed: abingtonAcademic] forState:UIControlStateNormal];

但是,如果您将图像编码为 NSData 并存储到 plist,那么您应该使用

[abAcademicButton setImage:[UIImage imageWithData: abingtonAcademic] forState:UIControlStateNormal];