【问题标题】:Image sizes with Asset Catalog and Sizing Classes for a iOS 8 Universal app?iOS 8 通用应用程序的资产目录和大小调整类的图像大小?
【发布时间】:2016-01-09 23:18:47
【问题描述】:

我的应用程序目前仅适用于 iPad,我想我可以制作一个更小的 iPhone 版本,具有“任意”尺寸类别。

编辑:如果可能,我只想使用通用故事板。

我想我只需要在我的资产目录图像集中选择 iPad 和 iPhone。

我希望我可以做出比例约束,但是如果不为图像提供恒定的宽度/高度,我不知道该怎么做。

然后我如何确定需要提供哪些图像,以及提供图像的最佳方式是什么?

我看到你可以提供矢量图,我相信文档说 Xcode 会从它们产生所需的尺寸?

【问题讨论】:

    标签: ios cocoa-touch ios8 autolayout ios-universal-app


    【解决方案1】:

    1.图片资源。本质上,对于通用 iOS 应用(针对 iPhone/iPad/AppleWatch UI 习惯用法和各种显示比例因子),有一种可扩展的方式 - Asset Catalogs

    配置好资产后,您可以照常访问您的图片资源(通过UIImage.imageNamed()),系统会为您完成剩下的工作。

    2。布局约束/大小类。 处理图像内容的布局时,不再是你拥有什么图像的问题 - 而是你的应用程序的 UI 如何适应运行它的设备的习惯用法.至少,您可以使用纵横比layout constraints 使您的图像视图根据封闭的布局上下文(设备屏幕大小、父视图大小等)按比例缩放。此外,使用size classes 也是一个好习惯。

    附:我的回答和问题一样含糊不清。如果上述某些内容过于宽泛,请随时在 SO 聊天中与我聊天。祝你好运。

    【讨论】:

    • 我担心 xcode 会调整图像大小并失去清晰度
    • Xcode 肯定会在构建阶段使用 pngcrush 来“优化”你的图像。不过,Xcode 不会调整图像的大小(就尺寸而言)。例如,当为应用程序图标分配大小不正确的图像时,Xcode 至少会发出一个警告,以便让您知道需要进行转换。
    • 其他图片集呢?
    • Xcode 在看到自定义资产目录时不知道需要什么大小。因此,它不会在宽度和高度方面触及任何东西。但是,UIKit 在尝试将您的图形内容适合相应的布局条件时,可能会以一种意外/意外的方式呈现您的图像。
    • 是的,我就是这么想的,所以最好提供大图并让它缩小它们的大小?
    【解决方案2】:

    在 iOS 中,图像通过 UIImage 类进行管理,然后可以以多种方式显示,但主要使用 UIImageView 类。 UIImageView 类将完成图像所需的所有调整大小,使其本身成为矢量图像。

    1. 这就是您创建图像的方式。图像文件 (imagename.png) 存储在您的 xcassets 中。

      var myImage = UIImage(named: "imagename.png")
      
    2. 这就是您以编程方式将图像分配给图像视图的方式,假设您有一个名为 myImageView 的 imageView 的出口。

      myImageView?.image = myImage
      

    【讨论】:

    • 对不起,我想补充一点,我只想使用故事板。我将编辑问题。
    猜你喜欢
    • 1970-01-01
    • 2016-11-04
    • 2012-10-04
    • 2010-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多