繁体   English   中英

xcode 6资产目录iphone 6

[英]xcode 6 asset catalog iphone 6

这个问题仍然没有得到解决。 当使用资产目录(特定于设备)(非通用)时,选项为1x,2x,r 2x,3x。 1x是不必要的,因为它不是视网膜。 2x适用于ip4,分辨率为640x960。 r 2x适用于ip5,分辨率为640x1136。 3x是ip6plus,分辨率为1242x2208。

现在,当我为ip6​​(而不是ip6plus!)运行模拟器时,它使用2x图像(对于ip4为640x960 res),并且它也没有进行放大以填充屏幕(由于比例不合适,这毫无意义) )。

有没有人找到合适的指南来设置新手机的背景图片? 我不是要说明各种分辨率大小是如何缩放的,这很清楚,但是如何解决xcassets图像之间明显的不匹配以及共享ip4和ip6的@ 2x? 谢谢!

编辑: Xcode资产目录支持3.5“,4”和4.7“ @ 2x图像吗?类似的问题但并未真正解决,只是使用通用而不是特定于设备的解决方法。有人知道更好的方法吗?

自2014年11月中旬以来,我已经向Apple报告了一个错误,我刚刚注意到他们将其标记为No Value ...,这给我的印象是Apple故意省略了iPhone 6的额外插槽。 我的猜测是,他们现在希望2x插槽可用于iPhone 6,也许随着它们的老化,他们正在减少对iPhone 4s的支持。

如果您真的想继续支持iPhone 4s,建议您在2x插槽中使用iPhone 6尺寸的图像,然后使用以下方法加载图像:

+(UIImage *)loadImageNamed:(NSString *)imageName
{
    CGSize screenSize = [UIScreen mainScreen].bounds.size;
    CGFloat screenHeight = MAX(screenSize.width, screenSize.height);
    CGFloat const IPHONE_4_SCREEN_HEIGHT = 480;
    UIImage *image = [UIImage imageNamed:imageName];
    if(screenHeight == IPHONE_4_SCREEN_HEIGHT) {
        CGFloat const xScale = .85333333;//x conversion ratio from iPhone 6's 375 pts width screen to iPhone 4's 320 pts width screen
        CGFloat const yScale = .71964018;//y conversion ratio from iPhone 6's 667 pts height screen to iPhone 4's 480 pts height screen
        CGSize newSize = CGSizeMake(xScale * image.size.width, yScale * image.size.height);
        UIGraphicsBeginImageContextWithOptions(newSize, NO, 0);

        [image drawInRect:(CGRect){0, 0, newSize}];
        UIImage *resizedImage = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        return resizedImage;
    }
    return image;
}

即使宽高比不同,将大图像(iPhone 6)缩放为较小的图像(iPhone 4s)也不会损失太多质量。


编辑:

这是Apple Relations对我的错误报告的回答:

目前没有计划解决以下问题:

我们在IB中引入了大小类。 因此,我们希望开发人员将XIB与图像视图一起使用,以控制如何加载和显示图像。 如果他们绝对必须为所有可能的屏幕尺寸提供像素完美的图像,那么他们需要做您建议的操作并确定要加载的特定资源。

我们现在正在关闭此报告。

如果您对分辨率有疑问,或者这仍然是您的关键问题,请使用该信息更新错误报告。

请确保定期检查新的Apple版本是否有可能影响此问题的更新。

添加640 * 1136的图像,因为ip6稍微与ip5成正比,而不是ip4;对于iPhone 6,也有@ 3x选项

您不能将@2x图像添加到资产中,并希望它能适合您的所有尺寸。 例如的背景。 iP4和iP5只是有所不同,因此您必须对iP4使用2个regular/@2x资产regular/@2x和对iP5 / 6使用regular/@2x资产regular/@2/@3 ,因为它们的比率相同(通用情况)。

其他方式设置为@2xR4但没有像@ 2x@2x retina因为它将是相同的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM