从xcassets加载UIImage

时间:2016-04-22 06:28:42

标签: ios objective-c uiimage xcasset

我正在尝试从Image.xcassets文件夹加载启动图像,但无济于事。在SO上还有其他answer s(和this one)旨在回答它,但是它们的主要解决方案是简单地加载这样的图像

// using ldap bind
$ldaprdn  = 'uname';     // ldap rdn or dn
$ldappass = 'password';  // associated password

// connect to ldap server
$ldapconn = ldap_connect("ldap.example.com")
    or die("Could not connect to LDAP server.");

if ($ldapconn) {

    // binding to ldap server
    $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);

    // verify binding
    if ($ldapbind) {
        echo "LDAP bind successful...";
    } else {
        echo "LDAP bind failed...";
    }

}

为我返回nil。

文件名命名正确,项目设置为使用资产。

有没有人知道我是怎么做的,或者我做错了什么?

提前致谢。

编辑:

screenshot of my assets folder

编辑2:我的最终代码:

UIImage *image =  [UIImage imageNamed:@"Default@2x"];

}

请注意它仅适用于肖像。

3 个答案:

答案 0 :(得分:7)

您无需在名称中指定图像的大小。它会自动加载最适合运行应用程序的设备的大小。所以你的代码应该是。

UIImage *image =  [UIImage imageNamed:@"Default"];

其中default是来自xcassets的资源名称,即您在左侧列表中看到的名称。

答案 1 :(得分:1)

这是获取LaunchImage名称的方法。

Xcode 5 & Asset Catalog: How to reference the LaunchImage?

从info.plist([[NSBundle mainBundle] infoDictionary])获取图像名称

答案 2 :(得分:0)

你应该有2个文件:

(1)Default.png(或任何其他图像格式) - 非视网膜

(2)Default@2x.png - Retina

现在,要获取此图像,您不必在文件名末尾使用@ 2x。仅使用该图像资产的名称。