如何在本地ios代码中包含资源?

时间:2017-03-14 13:52:50

标签: objective-c mobile cross-platform codenameone

如何为原生ios [代号为1]包含一些图片,如何在代码中使用它们,我试图创建一个名为“资源”的文件夹,就像默认情况下XCode所做的那样,并且它没有'使用的工作代码:

[UIImage imageNamed:@"xxxx.png"];

此致

在尝试包含源代码后,我到处查找图像,但我没有找到[尝试将它们放在src内部和原生内部和ios文件夹中]

尝试使用本机gui后,我在日志中有以下消息: 2017-03-16 15:23:25.509 MyApplication [32748:1247180]警告:尝试显示其视图不在窗口层次结构中!

2 个答案:

答案 0 :(得分:2)

如果您想使用Codename One App捆绑图片,至少有两种方法:

1

将图像添加到项目的src文件夹中,并按如下方式获取它们:

public static Image getImageFromSrcFolder(String imageName) {
    try {
        Image image = Image.createImage(Display.getInstance().getResourceAsStream(null, imageName));
        return image;
    } catch (IOException ioe) {
        //Log.p("Image " + name + " not found: " + ioe);
    }
    return null;
}

2:

通过GUI Builder(theme.res)添加图像,并按如下方式获取:

public static Image getImageFromTheme(String imageName) {
    try {
        Resources resFile = Resources.openLayered("/theme");//Change 'theme' to the custom name, if you renamed your theme.res file
        Image image = resFile.getImage(imageName);
        return image;
    } catch (IOException ioe) {
        //Log.p("Image " + name + " not found: " + ioe);
    }
    return null;
}

答案 1 :(得分:1)

你必须使用Like

UIImageView *yourImageView; // this must be your IBOutlet imageview, else you have to allocate it manually by giving its size frame etc.
[yourImageView setImage:[UIImage imageNamed:@"xxx.png"]];

试试这个,它会起作用。感谢。